2012-04-23 54 views
0

工具提示库正在复制dom节点以在工具提示中插入html。使用jQuery定位正确的元素

我需要定位工具提示中的元素,但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"); 

蓝不起作用,红色呢。我觉得两条线都可以工作。

+0

你的示例代码中的“this”是什么?另外,你有没有看过DOM,看看复制后的样子,用firebug或类似的东西来确保html没有被修改? – 2012-04-23 15:22:14

+0

用这些答案编辑了问题,还有额外的div封装了html,但是html没有以任何方式修改。 – mstef 2012-04-23 15:47:32

+0

当您使用'$(this)'时,您指的是装箱功能的选定元素。在上面的例子中'$(this)'会引用'$('。tooltip')'。不知道为什么'(“#main-content.scroll”,“#tiptip_content”)。test();'不适合你。我制作了一个[Fiddle](http://jsfiddle.net/pUm5V/7/)来测试选择,它似乎与您发布的HTML一起工作。 – jasonmerino 2012-04-23 16:32:32

回答

0

发现我的问题的主要原因。在插件下面几行:

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

之前的任何提示内容之一是DOM中输入呼叫被称为,不亚于包装工具提示存在,呼吁主要内容时,它是不在工具提示中显然无法工作。不知道我已经完全解决了我的问题,但是反转这些线可以解决问题。