工具提示库正在复制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");
蓝不起作用,红色呢。我觉得两条线都可以工作。
你的示例代码中的“this”是什么?另外,你有没有看过DOM,看看复制后的样子,用firebug或类似的东西来确保html没有被修改? – 2012-04-23 15:22:14
用这些答案编辑了问题,还有额外的div封装了html,但是html没有以任何方式修改。 – mstef 2012-04-23 15:47:32
当您使用'$(this)'时,您指的是装箱功能的选定元素。在上面的例子中'$(this)'会引用'$('。tooltip')'。不知道为什么'(“#main-content.scroll”,“#tiptip_content”)。test();'不适合你。我制作了一个[Fiddle](http://jsfiddle.net/pUm5V/7/)来测试选择,它似乎与您发布的HTML一起工作。 – jasonmerino 2012-04-23 16:32:32