【发布时间】:2018-05-30 12:22:19
【问题描述】:
我正在向我网站上的页面发出 ajax 请求,并使用此元素作为 body 标记的直接子元素:
<div class="container" id="wantme"><div class="content"></div></div>
只有一个.container,我想抢它的ID,我不知道。
据我所知,这段代码应该做我想做的事:
$.get('/page', function(data) {
id = $('.container', data).attr('id');
});
但是.container 选择器找不到任何东西。
我确实找到了这两种解决方法。我可以找到.content,我可以这样爬树:
id = $('.content', data).parent().attr('id');
但我不能直接跳到那里。
我在 StackOverflow 的其他地方发现了这个可行的解决方法:
html = $('<div></div>').html(data);
id = html.find('.container').attr('id');
但为什么看似显而易见的答案却行不通呢?
【问题讨论】:
-
我不确定我是否理解。我使用 .find() 的唯一地方它实际上在这里工作。第一段代码坏了,后两段是我发现的解决方法。
-
$(data).find(".container").attr("id");呢? -
@31piy 好主意,遗憾的是它的行为仍然相同。
-
@TylerRoper 它表现出同样的古怪行为。我制作了一个 jsfiddle,希望能让任何想玩的人更容易玩。 jsfiddle.net/8vcu4Lo1
-
那么 JSFiddle 为我澄清了答案。我会在下面发布。
标签: javascript jquery html dom