使用jquery访问数组的项目?

时间:2011-11-02 18:18:51

标签: jquery

如何使用文本节点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>

5 个答案:

答案 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)

尝试

$("div :contains(2)").....

DEMO

答案 4 :(得分:0)

您想要使用jQuery的filter()命令。试试这个:

$(document).ready(function () {
    $('div.content').filter(function () {
        return $(this).text() == '2'
    }).css('background-color', 'red');
});