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

时间:2012-07-30 11:06:42

标签: javascript dom

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

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

如果我正在调用函数,

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

我在警告中未定义,如何获取精确的粗体格式文本或带文字的粗体标记....请帮我解决这个问题

5 个答案:

答案 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);
}

JS Fiddle demo

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

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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