如何使用jQuery提取指定HTML结构中的span文本cnn.com?
解决jQuery提取目标span文本的问题
你当前的代码存在两处问题:
closest('.subexample2')用法错误——closest()是向上查找当前元素的祖先元素,但.subexample2是.myNewTest的子元素,应该用find()或直接通过层级选择器定位。find('span')会选中所有span标签,无法精准定位到你需要的cnn.com所在的span。
下面是几种精准提取目标文本的可行方案:
方案1:通过索引定位
先找到目标容器,再选中第二个span(索引从0开始,目标为第2个,所以用eq(1)):
var txt = $(".example1 > .myNewTest").find('.subexample2').find('span').eq(1).text();
方案2:排除带指定类的span
利用:not()选择器排除第一个带moreTest类的空span,再取第一个符合条件的span:
var txt = $(".example1 .myNewTest .subexample2 span:not(.moreTest)").first().text();
方案3:直接通过子元素顺序定位
用nth-child(2)直接选中.subexample2下的第二个span子元素:
var txt = $(".example1 .myNewTest .subexample2 span:nth-child(2)").text();
以上三种方案都能准确提取到cnn.com文本。
内容的提问来源于stack exchange,提问作者edward678
相关产品推荐
相关产品推荐

