使用jQuery定位正确的元素

时间:2012-04-23 15:09:24

标签: javascript 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>

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

this 是工具提示库的回调回调的一部分:

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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