在表单上,我必须从表单中存在的所有列表项中选择具有特定属性值的所有第一个<a>
元素。例如,在下面的代码中,我必须选择包含内容<a>
和xxx
的{{1}}元素 - 换句话说,第一个zzz
元素{{1}来自所有列表项。
<a>
&#13;
data-role="modal"
&#13;
我尝试的jQuery只选择console.log($('ul li a[data-role="modal"]:first'));
。
答案 0 :(得分:4)
您可以使用.find()获取a
中包含属性data-role=modal
的所有ul li
个元素,并应用:eq获取每个匹配的第一个元素:
$('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>
<强>参考强>
答案 1 :(得分:0)
尝试:
$('ul li').find('a[data-role="modal"]:first')
console.log( $('ul li').find('a[data-role="modal"]:first').map(function() {
return $(this).text();
}).get() );
&#13;
<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>
&#13;
答案 2 :(得分:0)
检查
$('document').ready(function(){
$('ul li').each(function(){
$(this).find('a[data-role=modal]:first').css('background-color','red');
});
});
答案 3 :(得分:0)
我想这可能会有所帮助
$('document').ready(function(){
$('ul li').each(function(){
$(this).find('a[data-role="modal"]').first().css('background-color','red');
});
});