获取对象类型 [英] Getting the object type

查看:66
本文介绍了获取对象类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好!


走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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆