请问,在IE下如何取得非标准标签的innerHTML

非常苦恼,在IE下,无法获得非标准Html标签所包含的内容

xxxxx

IE下用document.getElementById("t").innerHTML无法获得内容,
这可怎么办呀

请问有什么方法吗

谢谢~

[b]问题补充:[/b]
感谢 jim.jin 的回答,但是现在的问题是,页面中有很多love标签,love标签都没有ID值,但是我现在能得到某一个love标签的js对象,如何里面包含的值呢?

[b]问题补充:[/b]

[size=large][b][color=red]如何通过innerHTML进行赋值呢[/color][/b][/size]

把整个body 的innerHTML 拿过来用正则表达式拿出非标准Html标签所包含的内容

如:

[code="html"]



Regexp demo

<br> var get_not_stand_el_innerHTML = function(id){<br> var all_html = document.body.innerHTML<br> var patrn = new RegExp(&quot;\<LOVE\\sid=" + id + "\\>([^\&lt;]+)&lt;\/LOVE\&gt;&quot;);<br> var cnt = patrn.exec(all_html);<br> return cnt &amp;&amp; cnt[1];<br> };</p> <pre><code> var load_fun = function(){ alert(get_not_stand_el_innerHTML(&#39;t&#39;)); alert(get_not_stand_el_innerHTML(&#39;t2&#39;)); alert(get_not_stand_el_innerHTML(&#39;t3&#39;)); } window.onload = load_fun; &lt;/script&gt; </code></pre> <p></head><br><br> <body><br><br> <love id="t">tttt1</love> <br> <love id="t2">ttttttt2</love> <br> </body><br><br> </html>[/code]</p>

给他指定一个新的xmlns

然后就可以当作xml来处理了

在 x:test 节点下面有一个文本节点,文本节点的内容是 abc

在HTML默认的命名空间里,是无法识别自定义节点的

[quote]<?xml version="1.0" encoding="gb2312" standalone="yes"?>

















<br><br>



<br><br> function t(){<br><br> var o=document.getElementById(&#39;tt&#39;);<br><br> alert(o.childNodes[0].nodeValue);<br><br> }<br><br>





abc/x:test

测试



[/quote]

你不要用id取嘛
你先取到love标签嘛

document.getElementsByName("love")

用getElementsByName就OK了,测试代码如下。
[code="java"]





<br> function load(){<br> var love =document.getElementsByName(&quot;love&quot;).innerHTML=&quot;lovetest&quot;;<br> alert(love);<br> }<br> window.onload =load();<br>





xxxxx


[/code]

楼上正解,我也想到了这个办法。

aa.innerHTML = what;

[code="java"]<?xml version="1.0" encoding="gb2312" standalone="yes"?>



<br>
<br> function t(){ <br> var o=document.getElementById(&#39;tt&#39;); <br> o.innerHTML = &quot;def&quot;;<br> } <br>


abc/x:test

测试



[/code]

测试通过

[code="java"]





love El


<p>/**<br> *根据love的Id获取<br> */<br> function getLoveElInnerHtmlById(id){<br><br> var dd = document.body;<br> var html = dd.innerHTML;<br> var new_html = html.replace(/love/ig,&quot;div class=&#39;loveElClass&#39; style=&#39;display:none; &quot;);<br> document.body.innerHTML = new_html;<br> var result;<br> var loveEl = document.getElementById(id);<br> if(loveEl)<br> result = loveEl.innerHTML;<br> return result;<br><br> } </p> <pre><code>/** *将love转换为隐藏的DIV:之后就是对DIV操作 */ function changeLoveToDiv(){ var dd = document.body; var html = dd.innerHTML; var new_html = html.replace(/love/ig,&quot;div class=&#39;loveElClass&#39; style=&#39;display:none;&#39;&quot;); document.body.innerHTML = new_html; } window.onload = function(){ //alert(getLoveElInnerHtml(&#39;t&#39;)); //alert(getLoveElInnerHtml(&#39;t2&#39;)); //alert(getLoveElInnerHtml(&#39;t3&#39;)); changeLoveToDiv(); alert(&quot;t=&quot;+document.getElementById(&#39;t&#39;).innerHTML); document.getElementById(&#39;t&#39;).innerHTML = &#39;test............................&#39; alert(&quot;赋值t=&quot;+document.getElementById(&#39;t&#39;).innerHTML); //下面是用jquery进行操作 $(&quot;div.loveElClass&quot;).each(function(i){ var loveEl = $(this); var id = loveEl.attr(&#39;id&#39;); alert(&#39;id=&#39;+id); alert(&#39;html=&#39;+loveEl.html()); //赋值 //loveEl.html(&#39;要修改的内容&#39;); //alert(loveEl.html()); }); }; </code></pre> <p>





xxxxxxxxx

aaaaa
ddddddddd

dddffffffff
xxxxxx3eeeeeeeeexxxxxx
xxxxxttttttttxxxxxxx




[/code]

可以用document.getElementsByTagName()先取得love标签,再获取属性来取得

选择器不行么 类似jquery的$(".class") 把你的自定义标签添加class的属性。

可以用name 取
document.getElementsByName("love") 试试

将Love编程隐藏的div,然后就可以使用innerHTML取值和赋值了,具体参见我上面的代码:
[code="java"]
...
alert("t="+document.getElementById('t').innerHTML); document.getElementById('t').innerHTML = 'test............................' alert("赋值t="+document.getElementById('t').innerHTML);

...
[/code]

貌似很多方法....呵呵~....楼上的已经实现了~...