【问题标题】:How do you select all id tags that contain a certain string in javascript?你如何在javascript中选择包含某个字符串的所有id标签?
【发布时间】:2011-12-28 21:35:20
【问题描述】:

我有一个 ASP.NET 应用程序,它呈现多个问题,并可选择对给出的答案提供解释。

<label for="[<%:count %>].AnswerExplanation_<%: i+1 %>" id="[<%:count %>].toggleExplanation_<%: i+1 %>"><strong>Add Explanation</strong></label>
<br /><br />
<div id="[<%:count %>].Explanation_<%: i+1 %>">
    <textarea id="[<%:count %>].AnswerExplanation_<%: i+1 %>" name="[<%:count %>].AnswerExplanation_<%: i+1 %>" class="ckedit"></textarea>
</div>

所以你会有像“[X].toggleExplanation_Y”这样的id,对应于“[X].AnswerExplanation_Y”

我正在编写一个 javascript 函数来显示/隐藏 AnswerExplanation div,并且正在寻找一种方法来选择每个包含“toggleExplanation”的 id,我应该能够从那里得到其余的。

【问题讨论】:

  • 见上面链接的第二个答案
  • 给他们上课。在许多层面上都会更好。
  • 首先,您应该意识到 CSS id 必须以字母 A-Z 和 a-z 开头,然后可以是字母、数字、连字符、下划线、冒号和句点。括号不是 id 中的合法字符。句点和冒号给 CSS 选择器带来了挑战,因为它们是 jQuery 或 CSS 文件中 CSS 选择器中的特殊字符。由于您正在生成 HTML,因此在所有问题上放置一个通用类要容易得多。然后,您可以轻松地在 jQuery 中获取它们。您仍然可以在每个问题上使用唯一标识符,以将其与答案匹配。

标签: javascript jquery asp.net


【解决方案1】:

尝试使用attribute contains collector

$('label[id*="toggleExplanation"]')

【讨论】:

    【解决方案2】:

    如果您使用 jquery,您可以使用它来选择包含“toggleExplanation”的所有内容

    $("[id*='toggleExplanation']") 
    

    【讨论】:

      【解决方案3】:

      给所有.toggleExplanation_ div 一个唯一的标记CSS 类。然后,您可以简单地使用 jQuery 选择该类的所有元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-06
        • 2017-06-22
        • 2015-02-06
        • 1970-01-01
        • 2023-01-31
        • 2020-08-18
        • 1970-01-01
        相关资源
        最近更新 更多