Javascript 找不到基于属性的元素
当鼠标悬停在另一个元素上时,我试图为一个元素引发一个Javascript 找不到基于属性的元素,javascript,jquery,Javascript,Jquery,当鼠标悬停在另一个元素上时,我试图为一个元素引发一个mouseenter事件。我正在尝试根据数据属性查找元素: $("#modal").on("mouseenter", ".jq_pin", function(e) { var attr = $(this).data("abbr"); var els = $(".jq_mapPoint"); var el = els.find("[data-abbr='" + attr + "']");
mouseenter
事件。我正在尝试根据数据属性查找元素:
$("#modal").on("mouseenter", ".jq_pin", function(e) {
var attr = $(this).data("abbr");
var els = $(".jq_mapPoint");
var el = els.find("[data-abbr='" + attr + "']");
el.trigger(e.type);
});
我的事件触发,调试我可以看到一个元素列表,其中包含jq\u mapPoint
类,其中一个具有匹配的数据属性,但el的长度始终为0
包含事件的元素:
<li class="jq_pin"data-abbr="N">HI</li>
你好
我试图瞄准的元素:
<div style="position:absolute;left:59%;bottom:72%" class="jq_mapPoint" data-abbr="N">N</div>
N
您需要而不是.find()
将匹配的元素集减少为与选择器匹配或通过函数测试的元素集
而不是
var el = els.find("[data-abbr='" + attr + "']");
您需要而不是.find()
将匹配的元素集减少为与选择器匹配或通过函数测试的元素集
而不是
var el = els.find("[data-abbr='" + attr + "']");
它可能需要所有选择器
*
:
theels.find("*[data-abbr='" + attr + "']");
它可能需要所有选择器
*
:
theels.find("*[data-abbr='" + attr + "']");
标记在哪里
els
将包含许多元素,我猜..我认为您需要循环使用els。每个元素的完整文档请参见jQuery,com是的,有很多els,不会为我找到仅循环使用?标记在哪里els
将包含许多元素。我想您需要循环使用els。每个元素的完整文档请参见jQuery,com。是的,有很多els,不会为我找到只是循环使用吗?@AmrElgarhy,查找元素的后代,其中OP需要过滤结果集或$(“.jq_映射点[data abbr=”+attr+“]”)
@AmrElgarhy,查找OP需要过滤结果集的元素的后代或(“.jq_映射点[data abbr=”“+attr+”])