我有一些 html 代码看起来像这样:
<div id='main'>
<a href=''>
<div id='otherA'>
<a href=''>
</div>
<div id='otherB'>
<a href=''>
</div>
</div>
我想使用 JQuery 将属性“target”应用于#main 的元素,而不是#other 的元素。我尝试了一些方法,我认为这是我得到的最接近的方法,但它似乎不起作用。
$(document).ready(function(){
$('#main a').not(['#otherA a', '#otherB a']).attr('target', '_blank');
});
最佳答案
使用 #main > a
作为选择器。这只会在 #main 下选择 'a' 标签。
$(document).ready(function(){
$('#main > a').attr('target', '_blank');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<div id='main'>
<a href=''>main a</a>
<div id='otherA'>
<a href=''>asdsf</a>
</div>
<div id='otherB'>
<a href=''>kjklsdf</a>
</div>
</div>
关于jquery - 将 attr 应用于 div 但不应用于子级 (JQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32870017/