这是问题;我有几个div,如下面的一个,相同的类名,没有id。我需要修改<span>
标记下方的<h4>
文本,具体取决于这3张图片上鼠标光标的位置。我使用javascript,使用mouseenter()
方法执行此操作。问题是该方法改变了整个网页的每个跨区文本,而不仅仅是来自鼠标光标所在的类名为“parent”的类。
<div class="parent">
<div class="parent.child">
<a href="#"></a>
<div class="parent.chil.child">
<div class="parent.chil.child.child">
<img src ="link1" data-price="a">
<img src ="link2" data-price="b">
<img src ="link3" data-price="c">
</div>
</div>
</div>
<h4>
<a href= "aspPage.aspx">text</a>
</h4>
<p><span class = "spanClassName">text to be changed</span>some text</p>
<div class=child1"></div>
</div>
如果只有几个具有相同类名的div,“父”,我如何从curent“parent”div中仅选择鼠标所在的链接。
我希望我被理解,如果没有,请询问并尝试解释更多。
答案 0 :(得分:1)
您可以使用.closest()查找.parent
类
$('.parent\\.chil\\.child\\.child img').on('hover', function(){
$(this).closest('.parent').find('.spanClassName').text($(this).attr('data-price'))
});
此外,根据documents,您需要在选择器中转义.
使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为文字作为名称的一部分,必须使用两个反斜杠进行转义:\\。例如,id =“foo.bar”的元素可以使用选择器$(“#foo \\。bar”)。
答案 1 :(得分:0)
如果您已经知道特定的父节点,请使用parent.find('.spanClassName')
。如果您没有父节点,但知道鼠标所在的链接,则可以使用link.closest('.parent').find('.spanClassName')
。