Javascript 在jQuery中获取元素包含span标记之前的元素文本
我希望文本包含两个变量,如:Javascript 在jQuery中获取元素包含span标记之前的元素文本,javascript,jquery,html,Javascript,Jquery,Html,我希望文本包含两个变量,如: var a = "Bar" ; var b = "by year" ; Html: 芭比年 对于第一个变量,可以使用以下方法获取文本节点: var a = $('.heading').contents().filter(function() { return this.nodeType === Node.TEXT_NODE; }).text(); 对于第二个元素: var b = $('.ct').text(); 对于第一个变量,可以使用以下方法获取
var a = "Bar" ;
var b = "by year" ;
Html:
芭比年
对于第一个变量,可以使用以下方法获取文本节点:
var a = $('.heading').contents().filter(function() {
return this.nodeType === Node.TEXT_NODE;
}).text();
对于第二个元素:
var b = $('.ct').text();
对于第一个变量,可以使用以下方法获取文本节点:
var a = $('.heading').contents().filter(function() {
return this.nodeType === Node.TEXT_NODE;
}).text();
对于第二个元素:
var b = $('.ct').text();
您可以使用解构分配来获取
.firstChild
和.textContent
的.heading
.childNodes
let{0:{textContent:a},1:{firstChild:{textContent:b}}}=document.querySelector(“.heading”).childNodes;
log(`a:${a},b:${b}`)代码>
Barby year
您可以使用解构赋值来获取.firstChild
和.textContent
的.heading
.childNodes
let{0:{textContent:a},1:{firstChild:{textContent:b}}}=document.querySelector(“.heading”).childNodes;
log(`a:${a},b:${b}`)代码>
Barby year
假设h5只有两个包含文本的节点
您可以尝试以下操作(仅创建html元素不需要jQuery)
var$content=$(`
酒吧
按年
`);
变量[a,b]=
[]
.地图.电话(
$content[0]。子节点
,x=>x.textContent
)
.map(x=>x.trim())
.filter(x=>x!==“”)
;
警报(“a为:+a”);
警报(“b为:”+b)代码>
假设h5只有两个包含文本的节点
您可以尝试以下操作(仅创建html元素不需要jQuery)
var$content=$(`
酒吧
按年
`);
变量[a,b]=
[]
.地图.电话(
$content[0]。子节点
,x=>x.textContent
)
.map(x=>x.trim())
.filter(x=>x!==“”)
;
警报(“a为:+a”);
警报(“b为:”+b)代码>
这是解决此问题的另一个选项:
let a = jQuery(".heading").clone().find('span').remove().end().text();
let b = jQuery(".heading > span").text()
关于a
执行克隆,然后从克隆中删除范围,并捕获被操纵克隆的文本
关于b
,将提取标题的直接span
子项的文本。这是解决此问题的另一个选项:
let a = jQuery(".heading").clone().find('span').remove().end().text();
let b = jQuery(".heading > span").text()
关于a
执行克隆,然后从克隆中删除范围,并捕获被操纵克隆的文本
关于b
将提取标题的直接子元素span
的文本。可以使用元素的简单属性,如h5Elem。firstChild
将返回H5
的第一个子元素,即TextNode
,然后返回h5Elem.firstElementChild.textContent
返回H5
的第一个HTML元素,它是span
,您可以得到它的textContent
。好的@Krusader。。,感谢您可以使用元素的简单属性,如h5Elem.firstChild
-将返回H5
的第一个子元素,即TextNode
,然后返回h5Elem.firstElementChild.textContent
返回H5
的第一个HTML元素,它是span
,您可以得到它的textContent
。好的@Krusader..,谢谢