2009-11-21 74 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