JQuery if label包含这个...执行此操作

时间:2010-09-09 15:12:45

标签: jquery class label

我在页面上有asp.net转发器。如果重复的每个项目都包含在这样的标签中:

<label class="ItemName">value</label>

如果此标签包含文本“35”,我想在其旁边显示一些文字。我怎么能用jquery ???

来做到这一点
    jQuery(document).ready(function () {
        if ($('.ItemName').val().indexOf("35")) {
            $(this).val() = $(this).val() + "some text";
        }
    });

4 个答案:

答案 0 :(得分:5)

  1. this函数中的.ready应引用document
  2. 要获取文字内容,请使用.text()代替.val()
  3. 要更新某些值,请使用$obj.val(blah);,而不是$obj.val() = blah;。 (这实际上是Javascript的限制。)
  4. 有一个:contains() selector来过滤包含一些文字的元素。
  5. 要附加一些文字(或HTML),已经有an .append() method(感谢@ J-P提醒您。)
  6. 你可能想要这个:

    $('.ItemName:contains(35)').append("some text");
    

答案 1 :(得分:1)

.text()应该有效:

var item = $('.ItemName');
if ( item.text().indexOf("35") > -1 ) {
    item.after("some text");
}

答案 2 :(得分:0)

indexOf如果未找到则返回-1,或索引。这样做:

if ($('.ItemName').val().indexOf("35") >= 0) {

答案 3 :(得分:0)

你的意思是?

jQuery(document).ready(function () {
        if ($('.ItemName').text().indexOf("35")) {
            $(this).text($(this).text() + "some text");
        }
    });