[英]How to get element from innerHTML?
您可以从日志 output 中看到$chartContainer
是HTMLDivElement
object,而不是 jQuery ZA8CFDE6331BD59EB2666C696。 因此直接调用find()
是行不通的。 变量名上的$
前缀很容易混淆,所以我建议删除它。
要解决此问题,您需要将$chartContainer
包装在 jQuery object 中:
var $pin = $($chartContainer).find(".pin");
有很多方法可以获取有关您的元素的信息。
使用 innerHTML 作为标识符不是一个好的解决方案。
您可能需要某种事件来搜索“Menu1”
所以这里有一个点击处理程序,它也适用于其他事件,为您提供有关您点击的内容的信息。
function handler(e){
var txt='You clicked on a '+e.target.nodeName+'\n';
txt+='The innerHTML is '+e.target.innerHTML+'\n';
txt+='The text is '+e.target.textContent+'\n';
txt+='The parentNode is '+e.target.parentNode.nodeName+'\n';
alert(txt)
}
document.addEventListener('click',handler,false)
演示
如果您希望脚本搜索该“Menu1”,则应考虑将该“Menu1”作为属性添加到 span 或 parentNode。
<div id="Menu1">
<span>Home1</span>
</div>
然后打电话
document.getElementById('Menu1');
这是非常快的。
如果您更具体地解释为什么需要从变量中获取跨度,我可以重新详细说明代码。
如果你有问题,就问吧。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.