gpt4 book ai didi

jquery - 获取元素的所有属性在 IE 上的工作方式有所不同

转载 作者:行者123 更新时间:2023-12-01 01:10:02 25 4
gpt4 key购买 nike

如果运行此脚本 http://jsfiddle.net/y8jp8/2/在 IE7 和 Firefox 上您可以看到:结果不一样。

我只想查看 3 个属性(id、title 和 myattr)及其值。我如何在 IE 中执行此操作?

最佳答案

这是对 roXon 答案的更正,但仍然没有完美的解决方案..

var result = "";
var attrs = $("#sample")[0].attributes;

for(var i=0;i<attrs.length;i++) {
if(attrs[i].nodeValue != null
&& attrs[i].nodeValue != ''
&& attrs[i].nodeValue != 'inherit'){
result += ( attrs[i].nodeName + "=" + attrs[i].nodeValue + "<br>");
}

$('#log').html(result);
}

http://jsfiddle.net/digitaloutback/pMVJw/9/

更新:

IE7 似乎没有过滤掉未指定的属性,例如,这是示例中“sample”属性的数据:

parentNode => null 
nodeValue => sample
firstChild => null
name => id
expando => false
lastChild => null
ownerDocument => [object]
attributes => null
previousSibling => null
value => sample
nodeType => 2
nodeName => id
childNodes => null
nextSibling => null
specified => true
ownerElement => undefined

因此,您需要针对“指定”进行测试,例如:

var result = "";
var attrs = $("#sample")[0].attributes;

for(var i=0;i<attrs.length;i++) {

if(attrs[i].specified === true ) {
result += ( attrs[i].nodeName + "=" + attrs[i].nodeValue + "<br>");
}

$('#log').html(result);

}

http://jsfiddle.net/digitaloutback/pMVJw/10/

关于jquery - 获取元素的所有属性在 IE 上的工作方式有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8282396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com