How can I append text to elements containing a certain word in the ID, as long as they contain a visible element? I can get this to work for one unique ID, but not for all IDs containing the match (the one visible element). I've a feeling my use of "this" is incorrect.
我如何将文本附加到ID中包含某个单词的元素,只要它们包含可见元素?我可以让它为一个惟一的ID工作,但不是为包含匹配的所有ID(一个可见元素)。我觉得我使用“this”是不正确的。
http://jsfiddle.net/Wukbj/1/ [EDIT now with jQuery enabled!!!]
http://jsfiddle.net/Wukbj/1/[编辑现在使用jQuery !
$(function() {
if ($("[id^=relatedelements] > li:visible").length == 1) {
$(this).append("match found...")};
});
1 个解决方案
#1
2
You should use id*=value
which means id
contains the string value
您应该使用id*=值,这意味着id包含字符串值。
$(function() {
$("ul[id*=relatedelements] > li:visible").each(function(){
$(this).append('match found...');
})
});
for non visible element:
不可见的元素:
$(function() {
$("ul[id*=relatedelements] > li:hidden").each(function(){
$(this).append('match found...');
})
});
You can also count the number of hidden
element and append it to the ul
您还可以计算隐藏元素的数量并将其添加到ul。
$(function() {
$("ul[id*=relatedelements]").each(function(){
$(this).append($(this).find('li:hidden').length
+ ' items are invisible...');
})
});
#1
2
You should use id*=value
which means id
contains the string value
您应该使用id*=值,这意味着id包含字符串值。
$(function() {
$("ul[id*=relatedelements] > li:visible").each(function(){
$(this).append('match found...');
})
});
for non visible element:
不可见的元素:
$(function() {
$("ul[id*=relatedelements] > li:hidden").each(function(){
$(this).append('match found...');
})
});
You can also count the number of hidden
element and append it to the ul
您还可以计算隐藏元素的数量并将其添加到ul。
$(function() {
$("ul[id*=relatedelements]").each(function(){
$(this).append($(this).find('li:hidden').length
+ ' items are invisible...');
})
});