[英]Issue While Getting innerHTML Text Using JavaScript
In the following code I am extracting the innerHTML text of the html element. 在以下代码中,我提取了html元素的innerHTML文本。
if(a.tagName){
if("option"==a.tagName.toLowerCase())
return a.text.replace(/\u00A0/g," ");
if("select-one"==a.type||"select-multiple"==a.type)
return this.getSelectBoxText(a,!1);
}
if(this._isIE()||this.isSafariLike()&&!this._isChrome())
return a.innerText||a.textContent||"";
var b=a.innerHTML;
return!b||-1==b.indexOf("\x3cbr")&&-1==b.indexOf("\x3cBR")?a.textContent:document.createElement? (b=document.createElement(a.tagName),b.innerHTML=a.innerHTML.replace(/<br[\/]*>/ig," "),b.textContent):a.textContent
};
above code return the correct innerHTML text for all HTML element. 上面的代码为所有HTML元素返回正确的innerHTML文本。 There is an issue when any HTML element contain text with special character code eg
当任何HTML元素包含带有特殊字符代码的文本时都会出现问题,例如
<a id="oopID1" href="...">OOP – Java</a>
<a id="oopID1" href="...">OOP – Java</a>
[in page is show " OOP - Java "]. <a id="oopID1" href="...">OOP – Java</a>
[在页面中显示“ OOP-Java ”]。
then it does not return the actual rendered text (mean "OOP - Java"). 那么它不会返回实际呈现的文本(意味着“ OOP-Java”)。
How could I get the actual value which is getting displayed in the page. 我如何获取显示在页面中的实际值。
Thanks in advance. 提前致谢。
[NOTE : I don't want to use jQuery.] [注意:我不想使用jQuery。]
Use textContent
to retrieve the text content of your element: 使用
textContent
检索textContent
的文本内容:
document.getElementById("oopID1").textContent
textContent documentation textContent文档
使用innerText
而不是innerHTML
因为前者将值作为文本,而后者将其作为标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.