我有一个div,里面有一些孩子,它直接包含如下文本:
<div id="price">
100$
<span>some ads</span>
<span>another ads</span>
for each
</div>
Run Code Online (Sandbox Code Playgroud)
我想在此DOM元素中直接包含文本'100 $'。
我试着用innerHTML,innerText和textContent。但它们显示所有文本,包括如下所示的儿童文本:
<div id="price">
100$
<span>some ads</span>
<span>another ads</span>
for each
</div>
Run Code Online (Sandbox Code Playgroud)
const element = document.getElementById('price');
console.log(element.innerText);
console.log(element.innerHTML);
console.log(element.textContent);Run Code Online (Sandbox Code Playgroud)
预期结果是100$(我不需要“每个”),它直接包含在父元素中的文本。这样我就可以获得价格及其货币。
注意:jquery也被允许使用。
我正在尝试使用jQuery它来实现一个函数,它将扫描我的整个博客文章并计算用户的估计读取时间.
目前我已经完成以下操作以获得每个段落中的单词数量:
$('p').each(function(){
var v = wordCount($(this).html());
totalWords = totalWords + v.words;
);
function wordCount(val){
var wom = val.match(/\S+/g);
return{
charactersNoSpaces: val.replace(/\s+/g, '').length,
characters: val.length,
words: wom ? wom.length: 0,
lines: val.split(/\r*\n/).length
}
}
Run Code Online (Sandbox Code Playgroud)
感谢关于这个问题的海报wordCount:使用jQuery进行单词和字符计数
以上工作正常,我得到了我期望的段落输出.但是我的博客文章将包括一个组合的h1,h2,h3,h4,h5,h6,ul,ol,span,p,li.
所以我修改了我的代码:
$('p, h1, h2, h3, h4, h5, h6, ul li, ol li, span').each(function(){
var v = wordCount($(this).html()); …Run Code Online (Sandbox Code Playgroud) 我需要获取<p>父div 中的标记文本,而不是来自子div.I尝试了以下代码,它获取父div和子div中的所有文本.
注意:我只需要获取文本父p1和父p2
Downvoters plz提到原因,以便我将来不会犯这个错误
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<p>parent p1</p>
<p>parent p2</p>
<div id="sub">
<p>child div</p>
<button type ="button">click</button>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
var a = $(this).parent("div").attr("id");
console.log($("#"+a).parent("div").text());
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
3
推荐指数
1
解决办法
232
查看次数
假设我有以下 html:
<div class="targetDiv">
Target text
<div class="junkDiv">
Text I don't want
</div
</div>
Run Code Online (Sandbox Code Playgroud)
我知道我可以找到这样的 div 并通过执行递归地提取所有文本document.getElementsByClassName("thread")[x].innerText(其中 x 是我想要从中提取的 div 的索引)。这会给我“我不想要的目标文本”。
我的问题是如何提取“目标文本”而不提取“我不想要的文本”?