簡體   English   中英

使用JavaScript獲取innerHTML文本時出現問題

[英]Issue While Getting innerHTML Text Using JavaScript

在以下代碼中,我提取了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
};

上面的代碼為所有HTML元素返回正確的innerHTML文本。 當任何HTML元素包含帶有特殊字符代碼的文本時都會出現問題,例如
<a id="oopID1" href="...">OOP &ndash; Java</a> <a id="oopID1" href="...">OOP &ndash; Java</a> [在頁面中顯示“ OOP-Java ”]。

那么它不會返回實際呈現的文本(意味着“ OOP-Java”)。

我如何獲取顯示在頁面中的實際值。

提前致謝。

[注意:我不想使用jQuery。]

使用textContent檢索textContent的文本內容:

document.getElementById("oopID1").textContent

這里看小提琴

有用的鏈接:

textContent文檔

innerHTML文檔

innerText與innerHTML

使用innerText而不是innerHTML因為前者將值作為文本,而后者將其作為標記。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM