使用 jQuery 查找元素 ID 包含特定文本的页面上的所有元素

我试图找到页面上元素 ID 包含特定文本的所有元素。然后,我需要根据发现的元素是否隐藏来过滤它们。非常感谢您的帮助。

230224 次浏览
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});

注意选择器 匹配所有元素开头的星号“ *”。

参见 属性包含选择器,以及 翻译: 肉眼可见翻译: hide选择器。

这将选择所有 ID 包含“ foo”且可见的 DIV

$("div:visible[id*='foo']");

多亏了你们俩,这招对我很管用。

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
this.value=strVal;
});

如果你找到的 包含然后它会像这样

    $("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});

如果你找到的 然后它会像这样

    $("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});

如果你找到的 结束然后它会像这样

     $("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});

如果要选择 Id 不是给定的字符串中的元素

    $("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});

如果要选择 Name 包含一个用空格分隔的给定单词中的元素

     $("input[name~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});

如果要选择 Id 等于给定的字符串,或者以该字符串开头,后跟连字符中的元素

     $("input[id|='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});