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

Posted

技术标签:

【中文标题】使用jQuery查找页面上元素ID包含特定文本的所有元素【英文标题】:Find all elements on a page whose element ID contains a certain text using jQuery 【发布时间】:2010-11-15 10:59:37 【问题描述】:

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

【问题讨论】:

JQuery selector regular expressions 的可能重复项 【参考方案1】:
$('*[id*=mytext]:visible').each(function() 
    $(this).doStuff();
);

注意选择器 matches all elements 开头的星号“*”。

查看Attribute Contains Selectors,以及:visible 和:hidden 选择器。

【讨论】:

也许值得一提的是,当匹配元素的 id 时,您不使用引号,而匹配 name 时则使用引号。 $('*[name*="myname"]:visible') 不是最直观的,我之前也遇到过。 我替换了 $(this).doStuff();用 this.doStuff();并且工作【参考方案2】:

这会选择 ID 包含 'foo' 且可见的所有 DIV

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

【讨论】:

如果我在搜索文本框元素而不是 div,是否只是 $("input:visible[id*='foo']"); ? 应该是 $("input[type='textbox'][id*='foo']:visible") @port-zero - 'foo' 周围的单引号不是必需的 如果你想获取元素的值(在我的例子中是 spans)你必须得到$(this)[0].innerText【参考方案3】:

感谢你们俩。这对我来说非常有效。

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

【讨论】:

【参考方案4】:

如果您通过包含查找,那么它会是这样的

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

如果您是通过 Starts With 找到的,那么它会是这样的

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

如果你是通过Ends With找到的,那么它会是这样的

     $("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
     );

如果要选择名称中包含给定单词的元素,以空格分隔

     $("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
     );

【讨论】:

你好,如何使用选择器来选择那些id属于数组的元素。

以上是关于使用jQuery查找页面上元素ID包含特定文本的所有元素的主要内容,如果未能解决你的问题,请参考以下文章

jquery:查找其 id 具有特定模式的元素

如何使用硒在网页上查找具有特定文本的所有输入元素

JQuery 在嵌套元素上查找没有选择器的文本节点仅适用于 .contents() 和 filter()

在jQuery中通过部分ID查找元素? [复制]

Cloud Firestore 如何查找包含特定文档 ID 的子集合的所有文档?

如何使用 jQuery 选择具有特定文本的中间节点:包含选择器?