我想阅读一个格式化文本的html标签。例如
<p id="strike" onMouseOver="getP()><b>Hello</b></p>
//段落标记带有格式化文本
如果我正在调用函数,
function getP()
{
var val=document.getElementById('strike').value;
alert(val);
}
我在警告中未定义,如何获取精确的粗体格式文本或带文字的粗体标记....请帮我解决这个问题
答案 0 :(得分:4)
var val=document.getElementById('strike').innerHTML;
alert(val);
答案 1 :(得分:0)
使用alert(document.getElementById('strike').innerHTML);
答案 2 :(得分:0)
我建议使用:
function getP() {
var el = document.getElementById('strike').getElementsByTagName('b')[0],
text = el.textContent ? el.textContent : el.innerText;
alert(text);
}
更新了上述内容,并概括了一些:
<script type="text/javascript">
function getP(el,tagtype) {
if (!el || !tagtype) {
return false;
}
else {
var textFrom = el
.getElementsByTagName(tagtype)[0],
text = textFrom.textContent ? textFrom.textContent : textFrom.innerText;
console.log(text);
}
}
</script>
<p id="strike" onMouseOver="getP(this, 'b')"><b>Hello</b></p>
答案 3 :(得分:0)
p
没有value
属性。您需要获取b
的第一个childNode,并访问innerHTML
属性。
var val=document.getElementById('strike').childNodes[0].innerHTML;
答案 4 :(得分:0)
var val=document.getElementById('strike').innerHTML;