【问题标题】:Javascript add ID to HTML hrefJavascript将ID添加到HTML href
【发布时间】:2010-11-27 21:10:40
【问题描述】:

我有一个实时搜索脚本,我需要用信息填充我的 html 菜单。

我有一个菜单看起来像这样:

<a href="?page=page&id=">Menu item</a>

我正在寻找的是一段可以对链接执行此操作的代码:

<a href="?page=page&id=1">Menu item</a>

我有一个 Javascript 可以从数据库表 (livesearch) 中提取值 ID,现在我只需要它即时进入 href。

有什么建议吗?

【问题讨论】:

  • 这似乎非常可疑 - 你的应用程序不应该依赖 JS,看起来可能有更好的方法来解决这个服务器端问题
  • 我不想重新加载页面,这就是我想这样做的原因。任何建议如何做同样的事情但不重新加载页面?

标签: javascript html xmlhttprequest href


【解决方案1】:
function addPageIds(){

    var links = document.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++){
        if (/id=$/.test(links[i].href)) links[i].href += "1";
    }

}

【讨论】:

  • MiffTheFox,效果很好。 link[i].href (links[i].href) 中有错字。非常感谢!
【解决方案2】:
<a href="?page=page&id=" id="link1">Menu item</a>

<script type='text/javascript'>
var myidtoinsert = 5;
document.getElementById("link1").href += myidtoinsert;
</script>

给你的 a 标签一个 id,然后使用 document.getElementById 来获取 href 属性。

【讨论】:

  • 完美的 ChristopheD,正是我想要的。非常感谢!
  • 这个的缺点是每个href都需要一个id="link+"。
  • 你需要给元素一个唯一的标识符,以便能够在 Javascript 中以 DOM 方式操作它。目前我能想到的唯一 javascript 替代方法是在页面上“获取所有 a 标签”并迭代它们以自动添加 href 标签。您是否有原因无法在服务器端生成标签 ID?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 2015-01-27
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多