使用 JavaScript 获取内部 HTML 文本时出现问题
Issue While Getting innerHTML Text Using JavaScript
在下面的代码中,我提取了html元素的内部HTML文本。
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 元素返回正确的内部 HTML 文本。当任何 HTML 元素包含带有特殊字符代码的文本时会出现问题,
例如 <a id="oopID1" href="...">OOP – Java</a>
[在页面中显示">OOP - Java"]。
然后它不会返回实际呈现的文本(表示"OOP - Java"(。
我如何获得页面中显示的实际值。
提前谢谢。
[注意:我不想使用 jQuery。
使用 textContent
检索元素的文本内容:
document.getElementById("oopID1").textContent
看小提琴 这里
有用的链接:
文本内容文档
内部HTML文档
innerText vs innerHTML
使用innerText
而不是innerHTML
,因为前者以文本形式获取值,后者将其作为标记获取。
相关文章:
- 复选框与文本内联-JS问题
- 使用Handontable在同一列中用纯文本和html对问题进行排序
- 轴助手上的标签与文本几何和旋转问题
- 高图表的文本溢出问题
- 有CSS问题:can't将文本放置在选择框的右侧
- Safari手机文本输入问题
- 从 tinymce 文本区域检索数据时出现问题
- 文本框导致结构 JS 中的字体出现问题
- 使用jquery问题将文本附加到文本区域
- 显示比容器宽的文本,滚动时出现问题
- Type=文本模式问题
- Safari存在文本输入问题,用户输入时会选择文本,导致文本丢失
- IE9中的文本对齐问题
- 文本框聚焦事件并在IE9中输入问题
- 使用最接近查找文本输入的JQuery问题
- HTML:密码字段中的HTML5占位符属性问题 - 显示正常文本
- JavaScript WebSocket 字符编码问题(文本)
- Coffeescription出现奇怪问题-文本参数发送为null
- d3中的作用域问题.文本功能
- IE9上传问题:文本阻止上传按钮工作