首页 > 试题广场 >

下面关于IE、FF下面脚本的区别描述错误的是()

[不定项选择题]
下面关于IE、FF下面脚本的区别描述错误的是()
  • innerText IE支持,FIREFOX不支持
  • document.createElement FIREFOX支持,IE不支持
  • setAttribute('class','styleClass') FIREFOX支持,IE不支持
  • 用setAttribute设置事件 FIREFOX不支持,IE支持
A描述正确:Firefox 不支持 DOM 对象的 outerHTML innerText outerText 属性。
B描述错误: 在 IE6 IE7 IE8 中,createElement 方法不仅可以通过合法的标签名创建节点对象,还可以通过传入一段合法的 HTML 代码字符串作为参数创建节点对象。
C描述正确:I E6 IE7 IE8(Q) 中无法通过 "Element.setAttribute("class", "AttributeValue")" 设置元素的 class 属性,而需要使用 "Element.setAttribute("className", "AttributeValue")";
D描述错误: IE6 IE7 IE8(Q) 中无法通过诸如 "Element.setAttribute("onclick", "alert('ok')")" 为元素绑定事件;
编辑于 2016-09-05 16:31:41 回复(2)
A描述正确,请参考这里 http://w3help.org/zh-cn/causes/SD9017
B描述错误,请参考这里 http://w3help.org/zh-cn/causes/SD9010
C描述正确,请参考这里 http://w3help.org/zh-cn/causes/SD9006
D选项描述不清楚,其实都可以的,只是形式不同,具体参考这里 http://w3help.org/zh-cn/causes/SD9006
可以看到,在 IE8(S) Firefox Chrome Safari Opera 中,结果符合规范。而在 IE6 IE7 IE8(Q) 中,无法通过 setAttribute 方法传入一段代码字符串设置一个元素的内联事件,而必须传入一个 function 类型的对象;获取一个已有的内联事件的属性值也是 function 类型,而不是规范中的字符串类型。

编辑于 2017-07-20 16:04:33 回复(7)
D
IE并不是不支持setAttribute这个函数,而是不支持用setAttribute设置某些属性,例如对象属性、集合属性、事件属性,也就是说用setAttribute设置style和onclick这些属性在IE中是行不通的。为达到兼容各种浏览器的效果,可以用点符号法来设置Element的对象属性、集合属性和事件属性。
编辑于 2015-02-05 10:13:38 回复(2)
1.元素节点方面的知识:
1.1①getAttribute    ie7以前有问题:在这些版本中,getAttribute(“style”)返回一个对象getAttribute(“onclick”)返回一个函数
②setAttribute ie7以前有问题:在这些版本中,无法设置class和style属性,无效果,C正确,D错误
③removeAttribute ie6以前不支持。
1.2 ①document.createElement ie7以及以前有些问题,但是可以使用。 B 错误
使用上的区别:a,其一般情况下是(动态设置的)
var d = document.createElement("div");
d.id = "div1";
b,但是ie7以及以前是这么用的:(其它浏览器不支持这种做法)
var d = document.createElement("<div id='div1'></div>");
c,其中原因有:无法动态设置iframe的name;把button的动态type= rest,表单重设不了。
2.
Firefox 不支持 DOM 对象的 outerHTML、innerText、outerText 属性

发表于 2017-03-22 01:07:53 回复(0)
经过测试。setAttribute(‘class’,‘styleClass')在IE,chrome,firefox都可以
setAttribute(’className', 'styleClass'),同样是支持的。
IE下我使用的是仿真。
所以C选项是不正确的。
D选项,经常测试,setAttribute(“onclick”“javascript:alert('zhifei')");
在chrome,firefox下正常,IE8以下不正常,IE8以上可以,包括IE8
编辑于 2016-03-13 16:23:08 回复(0)
我选的C????

发表于 2017-08-25 09:12:22 回复(0)
innerText .. 在FF 下使用 textContent ....
发表于 2015-01-08 15:41:17 回复(0)
难道还会有IE支持,其他浏览器不支持的东西?
发表于 2021-02-24 23:16:50 回复(0)

所有主流浏览器均支持 setAttribute() 方法。


发表于 2017-06-12 17:51:18 回复(0)

setAttribute()

  • IE 各版本中可以通过 "Element.PropertyName" 访问 HTML 元素的自定义属性;
  • IE 各版本中可以通过 "Element.getAttribute("value")" 及 "Element.setAttribute("value", "XXX")" 获取和设置 INPUT 文本框的实时输入的值(即 HTMLInputElement 对象的 value 属性,也叫做 current value);
  • IE6 IE7 IE8(Q) 中无法通过 "Element.setAttribute("class", "AttributeValue")" 设置元素的 class 属性,而需要使用 "Element.setAttribute("className", "AttributeValue")";
  • IE6 IE7 IE8(Q) 中无法通过 "Element.setAttribute("style", "AttributeValue")" 设置元素的 style 属性,通过 "Element.getAttribute("style")" 得到的不是元素的 style 属性的字符串值,而是一个对象
  • IE6 IE7 IE8(Q) 中无法通过诸如 "Element.setAttribute("onclick", "alert('ok')")" 为元素绑定事件
  • IE6 IE7 IE8(Q) 中可以通过诸如 "Element.getAttribute("offsetHeight")" 的方式获得元素的一些 DOM 属性的值,也可以通过诸如 "Element.setAttibute("innerHTML", "AttributeValue")" 的方式设置元素的一些非只读 DOM 属性的值。
发表于 2017-08-21 21:49:37 回复(0)
我觉得C和D作为面试题意义不大,因为这本身就是不推荐的写法,我们为什么还必须要搞清楚其中的对或错,有人注册事件,添加class这么写么...
发表于 2015-03-24 15:29:34 回复(0)
这问题没有限定浏览器版本,本身不严谨,新版Firefox是支持innerText的
发表于 2016-05-10 11:35:26 回复(3)
过时题,直接拉黑
发表于 2021-04-07 07:34:34 回复(0)
黑ie的一定是对的 
发表于 2020-12-23 15:30:32 回复(0)
A答案对的

发表于 2020-10-16 15:47:37 回复(0)
这种题只能上机测试,我这样的只有瞎蒙了
发表于 2020-07-10 16:58:23 回复(0)

a是对的,ie支持,火狐不支持


发表于 2019-12-17 22:47:55 回复(0)
发表于 2019-08-21 21:04:41 回复(0)

BD

发表于 2019-08-10 17:51:21 回复(0)
这种题有啥意思????
发表于 2019-07-06 10:11:00 回复(0)