1

如何将文本附加到 ID 中包含某个单词的元素,只要它们包含可见元素?我可以让它适用于一个唯一 ID,但不适用于包含匹配项(一个可见元素)的所有 ID。我觉得我对“this”的使用是不正确的。

http://jsfiddle.net/Wukbj/1/ [现在编辑启用 jQuery !!!]

$(function() {
if ($("[id^=relatedelements] > li:visible").length == 1) {
    $(this).append("match found...")};
});
4

1 回答 1

2

您应该使用id*=valuewhich means id contains the stringvalue

$(function() {
    $("ul[id*=relatedelements] > li:visible").each(function(){
        $(this).append('match found...');
    })
});

对于不可见元素:

$(function() {
    $("ul[id*=relatedelements] > li:hidden").each(function(){
        $(this).append('match found...');
    })
});

您还可以计算hidden元素的数量并将其附加到ul

$(function() {
    $("ul[id*=relatedelements]").each(function(){
        $(this).append($(this).find('li:hidden').length 
          + ' items are invisible...');
    })
});
于 2013-01-26T15:02:31.733 回答