![](/img/trans.png)
[英]jQuery addClass targeting correct element - but only applying class sometimes
[英]Targeting the correct element with jQuery
工具提示庫正在復制dom節點,以將html插入工具提示中。
我需要定位工具提示中的元素,但是javascript始終應用於原始元素。
<a class="tooltip">Open</a>
<div class="tooltip-html" style="display:none;">
<div id="main-content" class="scroll">
<div class="Content">
<div class="blue">
</div>
</div>
</div>
我嘗試使用工具提示的enter回調,但無法正常工作。 並且在通過工具提示復制html之前應用內容僅在外觀上可行,javascript仍在查看原始內容。 在應用JavaScript之前,我什至嘗試過更改類。 如果我更改了類,原來的元素將不再可用。 類已更改,但是javascript並未應用於工具提示中的內容。
一旦復制了div,有什么好方法嗎?還是找到/定位正確元素的更好方法。
$(this).find("div.scroll").test();
編輯:
...Before...
<div id="main-content" class="scroll">
<div class="Content">
...After...
<div id="tiptip_holder" style="max-width: 230px; margin: 23px 0pt 0pt 999px; display: none;" class="tip_left_bottom">
<div id="tiptip_arrow" style="margin-left: 220px; margin-top: -12px;">
<div id="tiptip_content">
<div id="main-content" class="scroll">
<div class="Content">
....
這是工具提示庫的enter回調的一部分:
var tip_html = $('.tooltip-html').html();
$('.tooltip').tipTip({ content: tip_html, enter: function(){
$(this).find("div.scroll").test();
}
還嘗試使用,
$("#main-content.scroll", "#tiptip_content").test();
更新:
正如人們提到的那樣命名父div就像我應該工作一樣,這是一個示例,說明了我如何無法在工具提示中定位。
jsfiddle.net/mstefanko/pUm5V/24
//$("#main-content", "#tooltip-content").css("background", "red");
$("#main-content", "#tiptip_content").css("background", "blue");
藍色不起作用,紅色不起作用。 我覺得兩條線都應該起作用。
找到了造成我問題的主要原因。 插件中的以下幾行:
function active_tiptip(){
opts.enter.call(this);
tiptip_content.html(org_title);
只要工具提示內容存在於DOM中,就會調用enter調用,只要存在工具提示的包裝器,就在沒有工具提示時調用main-content顯然將無法正常工作。 不確定我是否已完全解決我的問題,但是反轉這些行可以解決當前的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.