如何使用文本节点2来访问div?
<script>
$(document).ready(function() {
alert($('.content').length);
$('.content').click(function(e) {
// ...
})
});
</script>
<div class='content'>1</div>
<div class='content'>2</div>
<div class='content'>3</div>
<div class='content'>4</div>
答案 0 :(得分:1)
将.filter()
与.text()
结合使用以获取一个jQuery对象,该对象包含文本内容等于2的所有元素(而不是:contains
,它也匹配非onyl组成的元素2
个字符)
var divContaining2 = $('.content').filter(function(){
return $(this).text() == "2";
})
<小时/> 使用
.eq()
方法获取与选择器匹配的__th元素:
var divs = $('.content'); // Contains all `.content` elements.
var div2 = divs.eq(2); // Get the second, returns a jQuery object
// If you want the DOM element:
var div2DOM = divs2[0]; // Alternative method: `divs2.get(0)`
答案 1 :(得分:1)
取决于这是否是您唯一的HTML。如果您的商品只包含一位数字,contains
即可生效。如果没有,您需要根据内容进行过滤。
$('.content').filter( function() { return $(this).text() == '2'; } )
...
另一方面,如果您只想要第二个元素,无论内容如何,您都可以使用eq()
。
$('.content').eq(2)
...
答案 2 :(得分:0)
试试这个
var myDiv = $('div:contains("2")');
答案 3 :(得分:0)
答案 4 :(得分:0)
您想要使用jQuery的filter()
命令。试试这个:
$(document).ready(function () {
$('div.content').filter(function () {
return $(this).text() == '2'
}).css('background-color', 'red');
});