Javascript 如何向子元素添加属性(或更改)?
我使用这个简单的脚本向所有元素添加target=“\u blank”属性Javascript 如何向子元素添加属性(或更改)?,javascript,jquery,Javascript,Jquery,我使用这个简单的脚本向所有元素添加target=“\u blank”属性 $(function(){ $('a').attr('target', '_blank'); }); 它工作得很好,但我只希望中的受此脚本的影响 我试过: $('#main').$('a').attr('target', '_blank'); 但这根本不起作用……使用以下方法: $('#main').find('a').attr('target', '_blank'); 您应该查看jQuery网站,了解有关选择器的信
$(function(){
$('a').attr('target', '_blank');
});
它工作得很好,但我只希望
中的
受此脚本的影响
我试过:
$('#main').$('a').attr('target', '_blank');
但这根本不起作用……使用以下方法:
$('#main').find('a').attr('target', '_blank');
您应该查看jQuery网站,了解有关选择器的信息(选择器是传递给$function的字符串)
在这种情况下,jQuery将选择id为“main”的任何标记中的所有“a”标记
- “#”表示“身份”
- “.”表示“css类”
- “>”表示“绝对儿童”
- 还有更多
$('#main a.blankLink').attr('target', '_blank');
退房
也应该有效。假设html的结构如下所示:
<div id="main">
<a id="1"></a>
<a id="2"></a>
<a id="3"></a>
<div>
<a id="4"></a>
<div>
<a id="5"></a>
</div>
</div>
</div>
这将改变1,2,3:
$('#main > a').attr('target', '_blank');
如果您专门寻找子对象(并非所有子对象),请使用
$(“#main>a”)
或$(“#main”).children(“a”)
<div id="main">
<a id="1"></a>
<a id="2"></a>
<a id="3"></a>
<div>
<a id="4"></a>
<div>
<a id="5"></a>
</div>
</div>
</div>
$('#main a').attr('target', '_blank');
$('#main > a').attr('target', '_blank');