我想阅读一个格式化文本的html标签.使用javascript

I want to read an html tag which has formatted text. using javascript

本文关键字:文本 格式化 html 标签 javascript 使用 一个      更新时间:2024-04-20

我想读取一个格式化文本的html标记。例如

<p id="strike" onMouseOver="getP()><b>Hello</b></p>//带有格式化文本的段落标记

如果我调用一个函数,

 function getP()
 {  
       var val=document.getElementById('strike').value; 
    alert(val);
 } 

我在警报中未定义,如何获得确切的粗体格式文本或带文本的粗体标记。。。。请在这个中帮助我

var val=document.getElementById('strike').innerHTML; 
    alert(val);

使用alert(document.getElementById('strike').innerHTML);

p没有value属性。您需要获取第一个子节点b,并访问innerHTML属性。

   var val=document.getElementById('strike').childNodes[0].innerHTML; 

我建议使用:

function getP() {  
   var el = document.getElementById('strike').getElementsByTagName('b')[0],
       text = el.textContent ? el.textContent : el.innerText;
   alert(text);
}

JS Fiddle演示。

更新了上面的内容,并概括了一些:

<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>​

JS Fiddle演示。

var val=document.getElementById('strike').innerHTML;