jQuery选择器-家长问题
我有一个emote选择器,当用户单击日记中的条目时,它会打开。我的工作方式是,emote选择器面板隐藏在页面顶部。当用户单击与条目相关联的“emote控件”时,我使用JavaScript从页面顶部抓取emote选择器面板的HTML,并将其插入条目旁边 使用Firebug,以下是页面中成品的外观(来自element inspect的片段)。我正在尝试获取类“emote control container”的ID,该类包含条目ID:jQuery选择器-家长问题,jquery,ruby-on-rails,jquery-selectors,Jquery,Ruby On Rails,Jquery Selectors,我有一个emote选择器,当用户单击日记中的条目时,它会打开。我的工作方式是,emote选择器面板隐藏在页面顶部。当用户单击与条目相关联的“emote控件”时,我使用JavaScript从页面顶部抓取emote选择器面板的HTML,并将其插入条目旁边 使用Firebug,以下是页面中成品的外观(来自element inspect的片段)。我正在尝试获取类“emote control container”的ID,该类包含条目ID: <td> <div id="146700
<td>
<div id="1467002" class="emote-select emote-default"> </div>
<div class="emote-control-container" id="emote-controls-1467002">
<div id="emote-control-selector">
<div id="emote-control-selector-body">
<ul>
<li id="emote-1"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li>
<li id="emote-2"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li>
<li id="emote-3"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li>
<li id="emote-4"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li>
</ul>
</div>
<div id="emote-control-selector-footer">
</div>
</div>
</div>
</td>
我在遍历DOM以从.emote控件容器获取元素ID时遇到问题
我什么都试过了,但我希望它能起作用,但它不能:
jQuery('li').live('click', function(e) {
e.preventDefault;
var entryId = jQuery(this.id).parent(".emote-control-container").attr("id");
alert(entryId);
});
我做错了什么。?我无法将.emote控件容器的ID作为目标。您希望在此处显示,如下所示:
jQuery('li').live('click', function(e) {
e.preventDefault;
var entryId = jQuery(this).closest(".emote-control-container").attr("id");
alert(entryId);
});
如果调用与选择器匹配,则只会得到立即的父级,直到找到它时才会继续进行调用(这有点违反直觉)。会一直爬升直到与选择器匹配,这正是您所追求的。您想要在这里,如下所示:
jQuery('li').live('click', function(e) {
e.preventDefault;
var entryId = jQuery(this).closest(".emote-control-container").attr("id");
alert(entryId);
});
如果调用与选择器匹配,则只会得到立即的父级,直到找到它时才会继续进行调用(这有点违反直觉)。直到与选择器匹配为止,这就是您所追求的。太棒了,尼克,谢谢!这就像一种魅力,我以前在无数次实验中都试过,但显然没有成功。太棒了,尼克,谢谢!这就像一种魅力,我以前在无数次实验中都试过,但显然没有成功。这太完美了。