Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 textContent返回未定义的文本_Javascript_Jquery_Syntax - Fatal编程技术网

Javascript textContent返回未定义的文本

Javascript textContent返回未定义的文本,javascript,jquery,syntax,Javascript,Jquery,Syntax,这是我的代码: var text1 = "↵,<strong>bla bla</strong>";//here text1 has value text1 = text1.textContent;//here it is undefined var text1=”↵,bla bla”//这里text1有价值 text1=text1.textContent//这里没有定义 为什么??如何解决它呢?text1是一个普通字符串,而不是DOM元素 如您所见,textConte

这是我的代码:

var text1 = "↵,<strong>bla bla</strong>";//here text1 has value
text1 = text1.textContent;//here it is undefined
var text1=”↵,bla bla”//这里text1有价值
text1=text1.textContent//这里没有定义

为什么??如何解决它呢?

text1
是一个普通字符串,而不是DOM元素

如您所见,
textContent
节点
对象的属性。与此相反

由于删除标记是一项非常简单的任务,因此添加一个相当大的库是没有意义的(即使只要您想对DOM做更多的工作,jQuery就非常好),下面是一种简单的方法:

var elem = document.createElement('div');
elem.innerHTML = '<strong>hi &amp; bye</strong>';
alert(elem.textContent || elem.innerText || ''); // displays "hi & bte"
var elem=document.createElement('div');
elem.innerHTML='hi&;再见;
警报(elem.textContent | | elem.innerText | |“”)//显示“hi&bte”

text1
是一个普通字符串,而不是DOM元素

如您所见,
textContent
节点
对象的属性。与此相反

由于删除标记是一项非常简单的任务,因此添加一个相当大的库是没有意义的(即使只要您想对DOM做更多的工作,jQuery就非常好),下面是一种简单的方法:

var elem = document.createElement('div');
elem.innerHTML = '<strong>hi &amp; bye</strong>';
alert(elem.textContent || elem.innerText || ''); // displays "hi & bte"
var elem=document.createElement('div');
elem.innerHTML='hi&;再见;
警报(elem.textContent | | elem.innerText | |“”)//显示“hi&bte”

text1
是一个字符串,而不是DOM节点


在使用DOM方法之前,您需要将HTML转换为DOM(通过使用
innerHTML
将其添加到文档中,或者通过编写/查找JS DOM解析器)


在使用DOM方法之前,您需要将HTML转换为DOM(通过使用
innerHTML
将其添加到文档中,或者通过编写/查找JS DOM解析器)

首先添加对jQuery库的引用,然后简单如下:

var text1 = "↵,<strong>bla bla</strong>";//here text1 has value
text1 = $("<div>").html(text1).text();
alert(text1);​
var text1=”↵,bla bla”//这里text1有价值
text1=$(“”).html(text1.text();
警报(text1);​

.

您可以使用jQuery执行此类任务

首先添加对jQuery库的引用,然后简单如下:

var text1 = "↵,<strong>bla bla</strong>";//here text1 has value
text1 = $("<div>").html(text1).text();
alert(text1);​
var text1=”↵,bla bla”//这里text1有价值
text1=$(“”).html(text1.text();
警报(text1);​

.

其他人已经给了你答案,我只想评论一下

虽然自DOM 3 Core出现以来(大约8年),大多数浏览器都实现了(MS专有)属性。因此,如果您有一个节点,您可以执行以下操作:

var theTextContent = typeof node.textContent == 'string'? node.textContent : node.innerText;
或者编写一个更健壮的函数

编辑 以下是完整的解决方案:

function getText(el) {
  return el.textContent || el.innerText || '';
}

var text1 = "<strong>bla bla</strong>"
var d = document.createElement('div');
d.innerHTML = text1;

alert(getText(d)); // bla bla
函数getText(el){ 返回el.textContent | | el.innerText |''; } var text1=“bla bla” var d=document.createElement('div'); d、 innerHTML=text1; 警报(getText(d));//布拉布拉
其他人已经给了你答案,我只想评论一下

虽然自DOM 3 Core出现以来(大约8年),大多数浏览器都实现了(MS专有)属性。因此,如果您有一个节点,您可以执行以下操作:

var theTextContent = typeof node.textContent == 'string'? node.textContent : node.innerText;
或者编写一个更健壮的函数

编辑 以下是完整的解决方案:

function getText(el) {
  return el.textContent || el.innerText || '';
}

var text1 = "<strong>bla bla</strong>"
var d = document.createElement('div');
d.innerHTML = text1;

alert(getText(d)); // bla bla
函数getText(el){ 返回el.textContent | | el.innerText |''; } var text1=“bla bla” var d=document.createElement('div'); d、 innerHTML=text1; 警报(getText(d));//布拉布拉

你到底想干什么@盗贼拿掉标签。你到底想干什么@ThiefMaster删除标记。@RobG可以随意使用纯JavaScript了-我只是建议一些广为人知的东西,用于保存数百行自编码。@ShadowWizard但对于这个值:↵,Tilsæ;t lidt fedt“它给了我错误。没有必要,已经有两个好答案了。代码行数不是客户非常关心的指标,也不是“更少的代码”本身的任何值。@RobG解析HTML和删除标记可能会变得非常复杂。我更喜欢用一行代码来做这件事,而不是自己花很长时间学习如何做。(最终失败)@Srcee查看我的编辑。我的原始代码将返回空字符串,没有错误。我已经修复了这个问题来处理这种情况。@RobG可以随意使用纯JavaScript了-我只是建议一些广为人知的东西,用来保存数百行自编码。@ShadowWizard但对于这个值:↵,Tilsæ;t lidt fedt“它给了我错误。没有必要,已经有两个好答案了。代码行数不是客户非常关心的指标,也不是“更少的代码”本身的任何值。@RobG解析HTML和删除标记可能会变得非常复杂。我更喜欢用一行代码来做这件事,而不是自己花很长时间学习如何做。(最终失败)@Srcee查看我的编辑。我的原始代码将返回空字符串,没有错误。我修正了这个问题来处理这种情况。IE8及以下版本不支持
elem.innerText | | elem.textContent
应该可以使用
alert(elem.textContent | | elem.innerText | |“”)在IE8及以下版本中不受支持
elem.innerText | | elem.textContent
应该可以使用
alert(elem.textContent | | elem.innerText | |“”)