我有一些动态生成的 html 代码:
<div id="slider-7238" class="hps-slide" style="width:250px; height:50px;">
<div class="hps-sliderText">
Custom Pizza<br />
Left: Mushrooms / Green Peppers<br/>Right: Cheese<span class="slide-more" id="slide-more-7238"> MORE... </span>
<div class="slide-full-desc" id="slide-desc-7238">Left: Mushrooms / Green Peppers<br/>Right: Ultimate Cheese</div>
</div>
</div>
<div id="slider-3471" class="hps-slide" style="width:250px; height:50px;">
<div class="hps-sliderText">
Chicken Alfredo<br />
Grilled chicken breast strips and rotini pasta oven-baked<span class="slide-more" id="slide-more-3471"> MORE... </span>
<div class="slide-full-desc" id="slide-desc-3471">Grilled chicken breast strips and rotini pasta oven-baked in a creamy Alfredo sauce with a layer of melted cheese. Served with an order of breadsticks.</div>
</div>
</div>
<div id="slider-7261" class="hps-slide" style="width:250px; height:50px;">
<div class="hps-sliderText">
Custom Pizza<br />
Left: Ham<br/>Right: Cheese
</div>
</div>
可以有任意数量的这些块,并且与它们关联的 id 号永远是未知的。我有一个 javascript 函数,它采用slide-more
跨度并将它们转换为鼠标悬停工具提示,其中slide-full-desc
div 的内容作为工具提示内容。如果我在要使用的 div id 中硬编码,则该函数可以正常工作,但由于动态生成,我不能这样做。我正在尝试在 .each 函数中使用它,但似乎无法正确选择选择器。我没有收到任何错误;它只是不是所有的工作。
这是它的代码:
$(document).ready( function() {
$('span.slide-more').each(function (i) {
new QoTooltip($(this), $('slide-full-desc').html(), {'layout':'top'});
});
});
QoTooltip 的参数是鼠标悬停的元素、包含工具提示内容的元素和一些设置(在这种情况下,只是布局。)
我需要的是让函数对每个跨度应用一个新的 QoTooltip 并传入相关的 slide-full-desc div 的内容。它们通过附在其 ID 上的四位数字相关联(即span id="slide-more-3471"
需要获取slide-desc-3471
div 的 html。
鼠标悬停工作,所以它至少在跨度上得到 .each ,但我不确定如何将正确的内容放入第二个参数中。