如何在HTML(a)中添加(URL)
var gm = document.body.innerHTML.match(/id=\d+.+على.+id=\d+/g);
for(var i=0;i<10;++i)
window.open('/game.php?village=' + gm[i].match(/id=(\d+)/g)[0].replace("id=",'') + '&screen=place&target=' + gm[i].match(/id=(\d+)/g)[1].replace("id=",''));
HTML
<b id='ABC'>
<a id='f' href ='' >ABC1</a>
<a id='f' href ='' >ABC2</a>
<a id='f' href ='' >ABC3</a>
<a id='f' href ='' >ABC4</a>
<a id='f' href ='' >ABC5</a>
</b>
但我不想使用:=&gt; window.open
我想要像这样使用(var):
var ss = '/game.php?village=' + gm[i].match(/id=(\d+)/g)[0].replace("id=",'') + '&screen=place&target=' + gm[i].match(/id=(\d+)/g)[1].replace("id=",'');
为了添加她(href)
通过jquery或javascript
<b id='ABC'>
<a id='f' href ='' >ABC1</a>
<a id='f' href ='' >ABC2</a>
<a id='f' href ='' >ABC3</a>
<a id='f' href ='' >ABC4</a>
<a id='f' href ='' >ABC5</a>
</b>
我用这个
$("#abc ").each(function(){
$(this).find("a").attr("href",ss);
});
但错误?
怎么样? 并谢谢答案 0 :(得分:2)
$("#abc ").each()
遍历具有id
abc
的元素:迭代id
选择器毫无意义,因为id
在文档中应该是唯一的。您应该迭代<a>
元素而不是选择器区分大小写。您的HTML中的id
为ABC
,而且位于您的
选择器你正在使用abc
。您应该使用正确的ID。
$("#ABC a").each(function () {
$(this).attr("href", ss);
});
旁注:
多个元素不应该具有相同的id
:您应该使用a
而不是......
jQuery setter方法通常遍历调用它们的集合,因此除非您必须执行多个操作,否则无需手动迭代。 $("#ABC a").attr("href", ss);
也会这样做。
答案 1 :(得分:-1)
$("#abc a").each(function(){
$(this).attr("href",ss);
});
你必须迭代锚标记/.
答案 2 :(得分:-1)
有两种方法可以做到这一点。
将锚标记ID更改为CLASS,如下所示:
...
<a class='f' href ='' >ABC1</a>
...
将jQuery代码更改为:
$(".f ").attr("href",ss);
$("#abc").find('a').attr("href",ss);
注意:DOM元素ID应该是唯一的。没有两个元素应该具有相同的ID。您可以将同一个类分配给多个元素。