Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获得一个';s元素的text(),但在divs之后添加空格?_Javascript_Html_Jquery - Fatal编程技术网

Javascript 如何获得一个';s元素的text(),但在divs之后添加空格?

Javascript 如何获得一个';s元素的text(),但在divs之后添加空格?,javascript,html,jquery,Javascript,Html,Jquery,嗨!我正在尝试从元素的.contents().text()输出字符串。。。但是在每个div的内容之间有空格(不改变实际的DOM) HTML: <!-- I don't have control over how many divs are in .myTextArea, or what text. It's really dynamic. There are also lists, etc.--tons of different types of elements. --> <

嗨!我正在尝试从元素的.contents().text()输出字符串。。。但是在每个div的内容之间有空格(不改变实际的DOM)

HTML:

<!-- I don't have control over how many divs are in .myTextArea, or what text. It's really dynamic. There are also lists, etc.--tons of different types of elements. -->

<div class="myTextArea">

  <div>Hey there!</div><div>I like turtles.</div><div>Do you like them?</div>

</div>
var myTextDescription = $(".myTextArea").contents().text();

console.log(myTextDescription);
目前,它输出:

Hey there!I like turtles.Do you like them?
…这就是我希望它输出的内容:相同的内容,但是在每个div的内容后面有空格

Hey there! I like turtles. Do you like them?

注意:其他答案使您更改实际的DOM(也就是说,它们在页面上的元素之后添加实际的空格),然后它们只抓取text()字符串。我不想改变DOM

另外,我不能用.html()来代替,而试着去掉一些东西,因为会有太多类型的元素需要担心


解决这个问题的一种方法是使用JavaScript的querySelectorAll方法返回myTextArea元素中所有div的列表。然后,您可以遍历列表中的每个元素,获取其内部文本,并在每个元素后放置空格:

var mytext=document.queryselectoral('.myTextArea>div');
var show=document.querySelector('#show');
var输出=”;
对于(var x=0;x

嘿!
我喜欢海龟。
你喜欢吗?

解决这个问题的一种方法是使用JavaScript的querySelectorAll方法返回myTextArea元素中所有div的列表。然后,您可以遍历列表中的每个元素,获取其内部文本,并在每个元素后放置空格:

var mytext=document.queryselectoral('.myTextArea>div');
var show=document.querySelector('#show');
var输出=”;
对于(var x=0;x

嘿!
我喜欢海龟。
你喜欢吗?

你就快到了。将
.text()
替换为:

//get text content of all nodes
.map((i,d) => d.textContent).get()
//remove white space
.filter(t => !!t.trim())
//join the text from all nodes with a space
.join(' ');
请查看下面的演示:

var myTextDescription=$(“.myTextArea”).contents().map((i,d)=>d.textContent.get().filter(t=>!!.t.trim()).join(“”);
console.log(myTextDescription)

嘿!我喜欢海龟。你喜欢它们吗?

你就快到了。将
.text()
替换为:

//get text content of all nodes
.map((i,d) => d.textContent).get()
//remove white space
.filter(t => !!t.trim())
//join the text from all nodes with a space
.join(' ');
请查看下面的演示:

var myTextDescription=$(“.myTextArea”).contents().map((i,d)=>d.textContent.get().filter(t=>!!.t.trim()).join(“”);
console.log(myTextDescription)

嘿!我喜欢海龟。你喜欢它们吗?

您知道是否可以从具有特定类的div中排除文本(“不包括”)?我尝试了“.not”(“.notinclude”)”但似乎不起作用。如果需要的话,我也可以用另一个问题问这个问题。太棒了。非常感谢。您知道是否可以从具有特定类的div中排除文本(“.doinclude”)?我尝试了“.not”(“.notinclude”)”但似乎不起作用。如果需要的话,我也可以用另一个问题问这个问题。太棒了。非常感谢。