开发跨浏览器JavaScript

本文介绍如何使用JavaScript进行元素样式设置、class属性更改、输入元素创建及事件处理添加的方法。覆盖了不同浏览器间的兼容性问题,并提供了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 通过JavaScript设置元素的样式 2. 设置元素的class属性 3. 创建输入元素 4. 向元素增加事件处理

 

1. 通过JavaScript设置元素的样式

通过元素(Element)的setAttribute()方法设置style属性:

var testdiv = document.getElementById("testdiv");
testdiv.setAttribute("style", "font-size:34px;color:red;");

除了IE(Microsoft Internet Explorer),这种方法在当前其它浏览器上都行得通。为了照顾IE,我们可以使用设置不标准的属性---元素style对象的cssText属性。尽管这个属性不是标准的,但得到了广泛的支持(除了Opera):

var testdiv = document.getElementById("testdiv");
testdiv.style.cssText = "font-size:34px;color:red;";
  • Firefox等浏览器:运行代码,在下面的测试区域查看效果。
  • Firefox等浏览器IE浏览器:,在下面的测试区域查看效果。

2. 设置元素的class属性

使用Firefox和Safari之类的浏览器,可以通过元素(Element)的setAttribute()方法设置class属性:

var testdiv = document.getElementById("testdiv");
testdiv.setAttribute("class", "HeaderBar");

为了照顾IE这个异类,它只认识className属性---在IE中className = class,其它大多数浏览器都忽略className属性。你可以这样做:

var testdiv = document.getElementById("testdiv");
testdiv.setAttribute("class", "HeaderBar");
testdiv.setAttribute("className", "HeaderBar");
  • Firefox等浏览器:运行代码,在下面的测试区域查看效果。
  • Firefox等浏览器IE浏览器:运行代码,在下面的测试区域查看效果。

这里是测试用的区域:Hello world!

上面的代码已经在Mozilla Firefox 1.5.0.2,Opera 8.54,Konqueror 3.5.2测试通过。

 

3. 创建输入元素

注意document.createElement()和<Element>.setAttribute()方法的顺序:

var button = document.createElement("input");
button.setAttribute("type", "submit");
var testdiv = document.getElementById("testdiv").appendChild(button);
  • Firefox等浏览器和IE浏览器:运行代码,在测试区域查看效果。

4. 向元素增加事件处理

标准的做法是:

var testdiv = document.getElementById("testdiv");
testdiv.setAttribute("onclick", "doFoo();");

除了IE,上面的代码在所有的当前浏览器中都能工作。在IE中必须使用点词法来引用所需的事件处理程序:

var testdiv = document.getElementById("testdiv");
testdiv.onclick = function(){doFoo();};

相关资源:

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值