【问题标题】:Select an element with jQuery selector regardless of ID使用 jQuery 选择器选择一个元素,而不考虑 ID
【发布时间】:2011-02-10 11:19:41
【问题描述】:

我有以下代码:

<div>
 <div id="someID"><h1>Blah</h1></div>
 <div id="someID2"><h1>Blah</h1></div>
</div>

我正在尝试在 jQuery 中进行选择(用于 jQuery UI 中的手风琴)。但是,除非我从 div 中删除 ID,否则以下操作不起作用。

$('> div > h1')

有什么方法可以告诉选择器忽略 ID,还是我用错了方法?

编辑:我要实际使用的是 jQuery UI 中的可排序手风琴,在 div 元素上带有 ID。可以在这里找到我正在做的一个例子,有源代码:

http://jqueryui.com/demos/accordion/#sortable


编辑:我感觉这可能与 jQueryUI 相关,而不是选择器本身,下面是我实际尝试运行的代码。

http://jsfiddle.net/Zgkj4/1/

div 中没有 ID 的工作示例:

http://jsfiddle.net/Zgkj4/2/

【问题讨论】:

  • 首先,将&lt;/blah&gt;替换为&lt;/h1&gt;
  • 是的,&lt;/blah&gt; 希望不是他实际使用的东西
  • 是的,我的错 - 为了简化示例,我在此处输入错误。

标签: jquery jquery-ui jquery-selectors


【解决方案1】:

您可以尝试选择具有&lt;div&gt; 的父级&lt;h1&gt;id 属性

$("div > div[id] > h1")

工作示例:http://jsfiddle.net/YjSvU/


忽略div w/o id: http://jsfiddle.net/YjSvU/1/

【讨论】:

    【解决方案2】:

    是的,你的选择器应该是一个字符串,像这样:

    $('div > h1')
    

    【讨论】:

    • 糟糕,这是帖子中的错字 - 在我的代码中它是一个字符串。
    【解决方案3】:

    您的选择器需要是一个字符串,因此请将其用单引号 (') 或双引号 (") 括起来。

    另外&gt; div 没有意义,因为&gt; 是直接后代/child selector,并且您在左侧(或其他上下文)没有父级。删除前导&gt;

    See it not working on jsFiddle.

    【讨论】:

      【解决方案4】:

      http://codylindley.com/jqueryselectors/。所有 jquery 选择器的列表。它应该可以帮助您分配。

      【讨论】:

        【解决方案5】:

        使用引号,我不确定第一个>

        这应该可行:

        $("div > h1")

        【讨论】:

        • 同上,忘记了帖子中的引号。但是,我尝试过没有第一个 gt,但没有运气。我将用更多信息更新原始帖子。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-05
        • 2013-02-24
        • 2021-06-20
        • 2012-06-22
        • 2011-04-13
        相关资源
        最近更新 更多