JQuery遍历DOM并提取节点值
我有以下DOM:JQuery遍历DOM并提取节点值,jquery,dom,jquery-selectors,traversal,Jquery,Dom,Jquery Selectors,Traversal,我有以下DOM: <div class="qtip qtip-light qtip-active"> <div class="qtip-wrapper"> <div class="qtip-borderTop"></div> <div class="qtip-contentWrapper"> <div class="qtip-title"> <di
<div class="qtip qtip-light qtip-active">
<div class="qtip-wrapper">
<div class="qtip-borderTop"></div>
<div class="qtip-contentWrapper">
<div class="qtip-title">
<div class="qtip-button"></div>
**Text I need to extract**
</div>
<div class="qtip-content">
<div class="tooltip">
<div class="button-container">
<script type="text/javascript">
var link = null;
var link = $('.qtip-active > .qtip-title').val();
$('.qtip-active > #button-container').append('<a href=\"mailto:' + link + '\">' + link + '</a>');
</script>
</div>
</div>
</div>
</div>
<div class="qtip-borderBottom"></div>
</div>
</div>
但是,当我希望变量链接返回指定节点的文本时,它总是未定义的。我已经阅读jquery文档好几个小时了,但我肯定是在逻辑上遗漏了什么,或者是缺少什么
任何帮助…jQuery的val函数返回表单元素的值,或
您的.qtip标题是一个常规HTML元素,因此您应该调用jQuery函数来获取元素的内容
另外,您使用了错误的选择器。A>B是,并且将匹配直接位于A元素内部的所有B元素
您需要使用写入$'.qtip active.qtip title,以匹配出现在.qtip active中任何位置的所有.qtip title元素
正如ryanulit指出的,您还需要将第二个选择器更改为$'.qtip active.button container'。jQuery的val函数返回表单元素的值,或
您的.qtip标题是一个常规HTML元素,因此您应该调用jQuery函数来获取元素的内容
另外,您使用了错误的选择器。A>B是,并且将匹配直接位于A元素内部的所有B元素
您需要使用写入$'.qtip active.qtip title,以匹配出现在.qtip active中任何位置的所有.qtip title元素
正如ryanulit指出的,您还需要将第二个选择器更改为$'.qtip active.button container'。尝试:
var link = $('.qtip-active .qtip-title').text();
qtip title实际上不是qtip active的子级
我想澄清一下:
$("a > b")
是指作为a元素子元素的所有b的集合,而:
$("a b")
指作为a元素的后代的所有b元素的集合
当然,qtip title不是输入元素,所以请使用text而不是val。尝试:
var link = $('.qtip-active .qtip-title').text();
qtip title实际上不是qtip active的子级
我想澄清一下:
$("a > b")
是指作为a元素子元素的所有b的集合,而:
$("a b")
指作为a元素的后代的所有b元素的集合
当然qtip title不是输入元素,所以使用text而不是val。我可以踢它吗?是的,你能…我能踢它吗?是的,您还可以,$'.qtip active>按钮容器'.append;需要更改为$'.qtip active.button容器'.append。按钮容器用作类,而不是代码中的id。而且,我建议将javascript作为一个单独的块移动到div之外而不是div内部;需要更改为$'.qtip active.button容器'.append。按钮容器用作类,而不是代码中的id。而且,我建议将javascript作为单独的块移动到div之外,而不是在div内部。