在表单上,我必须从表单中的所有列表项中选择具有特定属性值的所有第一个<a>元素。例如,在下面的代码中,我必须选择包含content xxx和zzz <a>的 - 元素,换句话说,从所有列表项中选择第一个包含data-role="modal"的<a>元素。
console.log($('ul li a[data-role="modal"]:first'));<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a data-role="modal">xxx</a>
<a data-role="modal">yyy</a>
</li>
<li>
<a>abc</a>
<a data-role="modal">zzz</a>
<a data-role="modal">xyz</a>
</li>
</ul>
我尝试的jQuery只选择了带有xxx的那个。
发布于 2015-11-09 23:25:09
您可以使用获取ul li中具有data-role=modal属性的所有a元素,并应用为每个匹配项获取第一个元素:
$('ul li').find('a[data-role="modal"]:eq(0)').css('color', 'red');<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a data-role="modal">xxx</a>
<a data-role="modal">yyy</a>
</li>
<li>
<a>abc</a>
<a data-role="modal">zzz</a>
<a data-role="modal">xyz</a>
</li>
</ul>
参考
发布于 2015-11-09 23:09:31
尝试:
$('ul li').find('a[data-role="modal"]:first')
console.log( $('ul li').find('a[data-role="modal"]:first').map(function() {
return $(this).text();
}).get() );<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li>
<a data-role="modal">xxx</a>
<a data-role="modal">yyy</a>
</li>
<li>
<a>abc</a>
<a data-role="modal">zzz</a>
<a data-role="modal">xyz</a>
</li>
</ul>
发布于 2015-11-09 23:22:49
看看这个
$('document').ready(function(){
$('ul li').each(function(){
$(this).find('a[data-role=modal]:first').css('background-color','red');
});
});https://stackoverflow.com/questions/33611865
复制相似问题