在jquery中选择子元素的内部HTML
我试图使用JQUERY来获取单击的元素的子节点的值。我一直在研究这个问题,没有找到一个似乎有效的答案。我正试图获得这样的文本:“这就是我想要的” 我的HTML与此类似在jquery中选择子元素的内部HTML,jquery,Jquery,我试图使用JQUERY来获取单击的元素的子节点的值。我一直在研究这个问题,没有找到一个似乎有效的答案。我正试图获得这样的文本:“这就是我想要的” 我的HTML与此类似 <div class="a"> <article class="b"> <section class="c"> <div class="d"> <a class="e" href="https://
<div class="a">
<article class="b">
<section class="c">
<div class="d">
<a class="e" href="https://"><img src="https:/"></a>
<div class="f"><div class="g">
<a href="https:" >this is what i want</a>
$("div").click(function(){
var a = jQuery(this).children('.g > a').html;
console.log(a);
});
我也试过了
$("div").click(function(){
var a = jQuery(this).find('.g > a').html;
console.log(a);
});
我认为您应该更具体地使用正在单击的
div
,方法是按类名调用它
$(.a”)。单击(函数(e){
var a=$(this.find(“.f”).children(“a”);
console.log($(a.text());
});代码>
.a{
边框:1px纯黑;
}
选择器仅用于直接子对象,而as不是直接子对象。在第二个示例中,您缺少了.html()
$(“div.a”)。单击(函数(){
var a=jQuery(this.find('.fa').html();
控制台日志(a);
});代码>
我已经试过了,但仍然不起作用。它变得有点挑战性,因为页面上有很多嵌套的HTML。我确实相信,尽管其他测试也反映了特定的div。没有a
是.f
的直接子对象,因此.f>a
不起作用。您可以执行.g>a
或仅执行.f a
运行代码时,它返回4个值:未定义,未定义,“这是我想要的”,“这是我想要的”
。为什么?因为有4个div
s,并且单击事件会附加到所有这些div。实际上我打错了,是.g>a。我尝试了你的建议,但这在我的实际代码中也不起作用,但在我的示例html中起作用。我将不得不返回调试。谢谢。@nfnneil这就是为什么我告诉OP指定要将eventListener附加到哪个元素的原因。。。问题是我在html之后没有()。