2009-11-21 68 views
0

我不能得到这个工作在IE:如何获得“文”了<p>文本<INPUT TYPE =” ...的</p>

这是HTML代码如下所示: <p class="red">Red: <input type="text" id="red_input" value="0"></p>

ID在这种情况下:document.getElementById('red_input');

我只想返回字 '红色' 它在FF的伟大工程,但不是在IE

在FF中,它返回字符串'red' 在IE中它返回'未定义为空或不是对象'。我认为这是'textContent'在IE中似乎不起作用。 任何人有任何建议?

任何帮助非常感谢!

回答

1

在IE浏览器,你应该得到的innerText属性:

function error(id){ 
    var prnt = id.parentNode.childNodes[0], 
     parentColor = prnt.textContent || prnt.innerText, 
     trimmed = parentColor.replace(/\s+/g,'').replace((/\:$/),"").toLowerCase(); 

    return trimmed; 
} 

请注意,我用的逻辑或操作(||),因此,如果textContent是不确定的(或falsy),它会寻找innerText

+0

伟大,超级感谢!这就是我正在寻找的! – patad 2009-11-21 15:59:15

1

对于一个跨浏览器的解决方案,试试这个:

parentColor = prnt.innerHTML.substring(0, prnt.innerHTML.indexOf(':')); 
+0

感谢堆这工作非常好! – patad 2009-11-21 15:52:47

相关问题