IE7下面直接获取不到,FF可以。<html><head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){if($.browser.msie){ var abc = document.getElementsByTagName("abc"); var s = (abc[0].parentNode.innerHTML); alert(s); }else{ var len = $("abc").html(); alert(len); }
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload = function() {
var abc = document.getElementsByTagName('abc');
for(var i = 0; i < abc.length; i ++) alert(abc[i].innerHTML);
}
</script>
</head><body>
<abc>111</abc>
<abc>222</abc>
</body>
</html>
写个alert($("body").find("abc").size())
就知道找到没了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
alert($("abc").length);
})
</script>
</head><body><abc>1111</abc>
<abc>1111</abc>
<abc>1111</abc></body>
</html>
貌似在html中用自定义标签的话,在各浏览器中jQuery的表现不太一致,又是兼容性问题。不过xml对象应该没这个问题,试试把自定义标签转移到xml中处理吧。
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){if($.browser.msie){
var abc = document.getElementsByTagName("abc");
var s = (abc[0].parentNode.innerHTML);
alert(s);
}else{
var len = $("abc").html();
alert(len);
}
});</script>
</head><body><abc>123</abc>
</body></html>
$abcs.each(function(){
alert($(this).html())
})貌似在火狐下可以,但是在IE下就不行了
alert($('abc')[0].outerHTML); // IE6中实测结果是 '<ABC>',而不是'<ABC>...</ABC>'!到这里可以看出来,这应该是IE的bug。