0

工具提示库正在复制 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>

我试过使用工具提示的回车回调,这不起作用。并且在工具提示复制 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"> 
    ....

这是工具提示库的输入回调的一部分

 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");

蓝色不行,红色可以。我觉得两条线都应该起作用。

4

1 回答 1

0

找到了我的问题的主要原因。插件中的以下行:

function active_tiptip(){
    opts.enter.call(this);        
    tiptip_content.html(org_title);

在任何工具提示内容在 DOM 中之前调用了 enter 调用,就像工具提示的包装器存在一样,当它不在工具提示中时调用 main-content 显然将无法工作。不确定我是否完全解决了我的问题,但颠倒这些行可以解决手头的问题。

于 2012-04-23T18:31:19.283 回答