【问题标题】:Find nested DOM elements using jQuery使用 jQuery 查找嵌套的 DOM 元素
【发布时间】:2011-10-27 09:59:08
【问题描述】:

我需要使用 JQuery 在我的 DOM 中查找特定元素。

案例是:

var dialog = $(DOM.loadHTML("amc-refine", "scripts/dialogs/amc-dialog.html"));
elmts = DOM.bind(dialog);

所以这里的 elmts 是一个带有 DOM 元素的变量.. 我有一张桌子,我可以使用它来访问它

$(elmts.dialogTable)

使用 jQuery 我想访问此表中的嵌套元素 .. 例如我想做以下操作

$('#example thead tr').each( function () {
        this.insertBefore( nCloneTh, this.childNodes[0] );
    } );

但我无法使用 # .. 访问我的表,所以我可以这样做:

$(elmts.dialogTable).find('thead').find('tr')

另外,如果我也想达到呢

$('#example tbody td img')

使用相同的 $(elmts.dialogTable)

最好的问候

【问题讨论】:

  • 你可以在加载的 dom 中搜索,比如 $("thead tr",elmts.dialogTable) - 但我不太确定你的 DOM 里面有什么...你能粘贴 amc-dialog.html 的内容吗?
  • 我认为下面的链接与您的查询有关:stackoverflow.com/questions/376081/…

标签: javascript jquery dom nested elements


【解决方案1】:

您应该仍然可以使用find,并将整个选择器传递给它:

var img = $(elmts.dialogTable).find('tbody td img');

您不需要像您在示例中所做的那样多次调用find。您的示例可以重写为仅使用 find('thead tr')

或者,您可以使用elmts.dialogTable 作为context 来选择:

var img = $("tbody td img", elmts.dialogTable);

【讨论】:

    【解决方案2】:

    这应该是可能的:

    $('#example thead tr', elmts.dialogTable).each( function () {
            this.insertBefore( nCloneTh, this.childNodes[0] );
        } );
    

    第二个参数表示context

    【讨论】:

      猜你喜欢
      • 2013-10-13
      • 1970-01-01
      • 2011-07-16
      • 1970-01-01
      • 2015-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多