获取对象类型 [英] Getting the object type
问题描述
您好!
走DOM时我会检查例如: obj.nodeName ==''DIV''或类似。
但是如果obj不是HTMLDivElement,这会在firefox中抛出警告。
如何在不测试HTMLDivElement的情况下测试HTMLDivElement抛出任何警告,通知
或其他什么?
谢谢!
Dominik Werder
Hello!
When walking the DOM I check for e.g. obj.nodeName==''DIV'' or similar.
But this throws a warning in firefox if obj is not a HTMLDivElement.
How can you test for HTMLDivElement without throwing any warning, notice
or something?
Thanks!
Dominik Werder
推荐答案
Dominik Werder在2006年1月28日写了comp.lang.javascript :
Dominik Werder wrote on 28 jan 2006 in comp.lang.javascript:
走DOM时我检查例如obj.nodeName ==''DIV''或类似。
但如果obj不是HTMLDivElement,这会在firefox中发出警告。
如何测试HTMLDivElement而不抛出任何警告,请注意
或者什么?
When walking the DOM I check for e.g. obj.nodeName==''DIV'' or similar.
But this throws a warning in firefox if obj is not a HTMLDivElement.
How can you test for HTMLDivElement without throwing any warning, notice
or something?
呃?你能给出一个示例对象吗?
< img id = d>
< script type =" text / javascript"> ;
obj = document.getElementById(''d'')
alert(typeof obj)
alert(obj.nodeName)
alert(obj.nodeName ==''DIV'')
< /脚本>
-
Evertjan。
荷兰。
(请更改x 我的电子邮件地址中的点数
Uh? Can you give an example object?
<img id=d>
<script type="text/javascript">
obj = document.getElementById(''d'')
alert( typeof obj )
alert( obj.nodeName )
alert( obj.nodeName == ''DIV'' )
</script>
--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)
这里有一个例子,很简单但很完整。
点击带下划线的文本,它试图遍历< div id =" aa">
中的
元素
这会在firefox中引发警告,我想摆脱它们..
< html>< head>
< script>
函数doit(){
var a = document.getElementById(''aa'');
var x,y;
for(x在a.childNodes中){
y = a.childNodes [x];
if(y!= null){
log(''#nodeName给出:''+ y.nodeName);
}
}
}
函数日志{
var d = document.getElementById(''log'');
d.innerHTML + = s +'' < br />'';
}
< / script>
< / head>
< body>
< div style =" text-decoration:underline;" onclick =" doit()">
点击此处将以下内容设置为:
< / div>
>
< div id =" aa">
< div>嗨< / div>
< div>测试< / div>
< br />< br />
< / div>
< div>日志:< / div>
< div id =" log">< / div>
< / body>
< / html>
-----开始PGP签名-----
版本:GnuPG v1.4.2( GNU / Linux)
iD8DBQFD26QkinQYTZiSlOIRAu8uAKCiyRQQANWFUkA747OW6z LH1Q8VYQCePMmI
tqwUHyjLBAXkLeXpz2 + QyMk =
= M3GS
- ---结束PGP签名-----
here is an example, pretty simple but complete.
By clicking on the underlined text, it tries to walk through the
elements inside of the <div id="aa">
This throws warnings in firefox, and I''d like to get rid of them..
<html><head>
<script>
function doit() {
var a = document.getElementById(''aa'');
var x, y;
for (x in a.childNodes) {
y = a.childNodes[x];
if (y != null) {
log(''#nodeName gives: ''+y.nodeName);
}
}
}
function log(s) {
var d = document.getElementById(''log'');
d.innerHTML += s+''<br/>'';
}
</script>
</head>
<body>
<div style="text-decoration: underline;" onclick="doit()">
Click here to set the following contents to sth else:
</div>
<div id="aa">
<div>Hi</div>
<div>Test</div>
<br/><br/>
</div>
<div>Log:</div>
<div id="log"></div>
</body>
</html>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFD26QkinQYTZiSlOIRAu8uAKCiyRQQANWFUkA747OW6z LH1Q8VYQCePMmI
tqwUHyjLBAXkLeXpz2+QyMk=
=M3GS
-----END PGP SIGNATURE-----
Dominik Werder于2006年1月28日在comp.lang.javascript写了 :
[请引用你要回复的内容。 ]
Dominik Werder wrote on 28 jan 2006 in comp.lang.javascript:
[Please quote what you are replying to. ]
这里有一个例子,很简单但很完整。
通过点击带下划线的文本,它会尝试遍历里面的
元素of< div id =" aa">
这会在firefox中引发警告,我想摆脱它们..
< html>< head>
< script>
函数doit(){
var a = document.getElementById(''aa'');
var x,y;
for(x in achildNodes){
y = a.childNodes [x];
if(y!= null){
log(''#nodeName给出: ''+ y.nodeName);
}
}
}
函数日志{
var d = document.getElementById(''log'') ;
d.innerHTML + = s +''< br />'';
}
< / script>
< / head>
< ; body>
< div style =" text-decoration:underline;" onclick =" doit()">
点击此处将以下内容设置为:
< / div>
< div id =" aa">
< div> Hi< / div>
< div>测试< / div>
< br />< br />
< / div>
< div>记录:< / div>
< div id =" log">< / div>
< / body>
< / html>
here is an example, pretty simple but complete.
By clicking on the underlined text, it tries to walk through the
elements inside of the <div id="aa">
This throws warnings in firefox, and I''d like to get rid of them..
<html><head>
<script>
function doit() {
var a = document.getElementById(''aa'');
var x, y;
for (x in a.childNodes) {
y = a.childNodes[x];
if (y != null) {
log(''#nodeName gives: ''+y.nodeName);
}
}
}
function log(s) {
var d = document.getElementById(''log'');
d.innerHTML += s+''<br/>'';
}
</script>
</head>
<body>
<div style="text-decoration: underline;" onclick="doit()">
Click here to set the following contents to sth else:
</div>
<div id="aa">
<div>Hi</div>
<div>Test</div>
<br/><br/>
</div>
<div>Log:</div>
<div id="log"></div>
</body>
</html>
不,它不会对我的ff1.5发出任何警告
ff输出:
日志:
#nodeName给出:#text
#nodeName给出: DIV
#nodeName给出:#text
#nodeName给出:DIV
#nodeName给出:#text
#nodeName给出:BR
#nodeName给出:BR
#nodeName给出:#text
#nodeName给出:undefined
#nodeName给出:undefined
ie6输出:
日志:
#nodeName给出:undefined
#nodeName给出:DIV
#nodeName给出:DIV
#nodeName给出:BR
#nodeName给出:BR
-
Evertjan。
荷兰。
(请在我的电子邮件地址中将x'变为点数)
No, it does not give any warnings on my ff1.5
ff output:
Log:
#nodeName gives: #text
#nodeName gives: DIV
#nodeName gives: #text
#nodeName gives: DIV
#nodeName gives: #text
#nodeName gives: BR
#nodeName gives: BR
#nodeName gives: #text
#nodeName gives: undefined
#nodeName gives: undefined
ie6 output:
Log:
#nodeName gives: undefined
#nodeName gives: DIV
#nodeName gives: DIV
#nodeName gives: BR
#nodeName gives: BR
--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)
这篇关于获取对象类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!