`

10、JavaScript跨浏览器需注意的问题——ajax基础笔记

阅读更多

向表中追加行

创建表格行时,我们要把创建的 tr 追加到 tbody 元素节点中,而不能直接把它追加到 table 元素节点中,因为IE 上直接追加到 table 时不能显示出来,但所有的现在的浏览都支持把 tr 追加到 tbody中,正确的做法如下:
先定义如下一个空表

<table id="myTable">
	<tbody id="myTableBody">
	</tbody>
</table>

 
然后脚本如下实现:

var cell = document.createElement("td").appendChild(document.createTextNode("foo"));
var row = document.createElement("tr").appendChild(cell);
document.getElementById("myTableBody").appendChild(row);

 
其实我们可以使用HTML DOM来动态地创建表格更简洁,具体请参考《DOM&HTML DOM(二)》中的“使用HTML DOM操作Table”一节。

 

通过JavaScript设置元素的样式

可以通过javaScript使用元素的setAttribute方法设置元素的样式。

var spanElement = document.getElementById("mySpan");
//以下是标准做法,这种方法在当前其他浏览上都是行得通的,但IE不支持。
spanElement.setAttribute("style","font-weight:bold;color:red;");
//以下是非标准做法,但得到了广泛的支持。这种方法在IE和大多数其他浏览上都能很好地工作,只有Opera除外。
spanElement.style.cssText="font-weight:bold;color:red;";

 

为了让代码 在所有当前浏览器上都可移值,可以同时使用这两种方法,也就是既使用setAttribute方法,又使用元素的style对象的cssText属性。

 

设置元素的class属性

var element = document.getElementById("myElement");
//标准。下面的写法保证除IE外,所有浏览器可用
Element.setAttribute("class", "styleClass");
//非标准。下面写法保证IE可用,而忽略class
Element.setAttribute("className", "styleClass"); 

 

创建输入元素

创建一个下拉框(select)或文本域(textarea)直接使用一条语句

var select = document.createElement("select");

 

就可以了。但单行文本框、复选框、单选框、单选钮、按钮稍难一些,因为它们都有同样的元素名 input,只是 type 属性不同,所以要创建这些元素使用document.createElement方法后,不要调用元素的 setAttribute方法来设置type属性的值,并且type属性的设置一定要放在追加元素到文档中之前操作。以下为正确做法:

var button = document.createElement("input");
//单行文本框、复选框、单选框、单选钮、按钮需要此属性区别,并在追加之前设置
button.setAttribute("type", "button");
document.getElementById("formElement").appendChild(button);

 

向输入元素增加事件处理程序

var formElement = document.getElementById("formElement");
//除IE外,所有当前浏览器中都能工作。
formElement.setAttribute("onclick", "doFoo();");

//所有浏览器可用,设置一个匿名函数 ,并在匿名函数里再调用真真的事件处理函数
formElement.onclick = function () {
	doFoo();
};

 

创建单选按钮

// uniqueID为IE中document对象的专用属性
if (document.uniqueID) {
    //只有IE支持
	var radioButton = document.createElement(" <input type='radio' name='radioButton' value='checked'>");
} else {
    //除IE外,其他标准浏览器都支持
	var radioButton = document.createElement("input");
	radioButton.setAttribute("type", "radio");
	radioButton.setAttribute("name", "radioButton");
	radioButton.setAttribute("value", "checked");
}

 

分享到:
评论

相关推荐

    Ajax中XmlHttpRequest实例笔记

    核心在于使用JavaScript与服务器进行异步数据交换,并且利用浏览器内置的对象——XmlHttpRequest(XHR)来实现这一过程。在本笔记中,我们将深入探讨XmlHttpRequest在Ajax中的应用实例,以及如何结合jQuery库进行更...

    javascript入门学习笔记

    这些只是JavaScript学习笔记的一部分,深入理解并熟练运用这些概念,将为JavaScript编程打下坚实的基础。随着学习的深入,还会接触到更多高级特性和框架,如闭包、原型链、AJAX、jQuery、Vue.js、React.js等,这些都...

    ExtJS4中文教程2 开发笔记 chm

    JavaScript的10种跨域共享方法 JavaScript类型总览 JavaScript获取文本框光标的像素位置 js函数match、exec、test、search、replace、split使用介绍 技巧:Javascript使用隐藏的new来创建对象 禁止页面全选复制,...

    Vue技术栈实现的云笔记项目,印象笔记的功能基本都实现.zip

    该项目基于Vue技术栈实现了一个云笔记应用,名为“vue-evernote-master”,其设计灵感和功能特点借鉴了知名的云笔记服务——印象笔记。Vue.js作为前端框架,提供了强大的组件化开发能力,使得项目的结构清晰,代码...

    源码、课件、笔记、工具.rar

    课件内容丰富,不仅包括了DOM操作、事件处理等基础知识点,还深入到AJAX异步通信、JSON数据格式的应用、浏览器兼容性问题的处理以及ES6新特性的探索。这些内容旨在帮助学习者构建一个完整且现代的JavaScript知识体系...

    学习笔记 MHT2

    3. **JavaScript调试**:《如何调试javascript.mht》介绍了调试JavaScript的方法,包括使用浏览器的开发者工具、断点设置、步进执行、错误捕获等,是开发者定位和解决程序问题的重要技能。 4. **需求分析**:虽然...

    JQuery笔记.docx

    通过以上介绍,我们了解了JavaScript及其重要组成部分——jQuery的基础概念和技术要点。JavaScript作为一种强大的客户端脚本语言,极大地丰富了网页的交互性和功能性,而jQuery作为JavaScript的一个扩展库,进一步...

    java学习资料集合梁建全老师(js+jsp+jqurey+Struts2+hibernate+Spring+jdbc+java基础等)

    "Java相关课程系列笔记之十二jQuery学习笔记"涵盖了JavaScript的一个库——jQuery。jQuery简化了DOM操作、事件处理、动画效果和Ajax交互,是前端开发的常用工具。 "Java相关课程系列笔记之十三Struts2学习笔记"涉及...

    jquery笔记

    3. **跨浏览器兼容性**:内置处理了浏览器之间的差异,开发者无需再担心不同浏览器的兼容问题。 4. **丰富的插件生态**:基于jQuery的核心库,社区贡献了大量的插件和UI组件,可以快速实现复杂功能而无需从头编写...

    dwr笔记整理(三)

    《DWR笔记整理(三)——深入理解与实践》 Direct Web Remoting(DWR)是一种JavaScript库,它使得在浏览器和服务器之间进行双向通信变得简单。本篇笔记将深入探讨DWR的核心概念、功能以及如何在实际项目中应用。...

    java私人学习笔记

    Java私人学习笔记主要涵盖了Java编程语言以及与其相关的几个著名框架——Spring、Struts2和Hibernate,还有前端开发中常用的JavaScript。这些技术在IT行业中的应用广泛,是许多企业级应用开发的基础。以下是对这些...

    dwr 例子,jar包,engine.js util.js 学习笔记

    这个压缩包包含的是DWR的实例、相关的jar包以及两个重要的JavaScript文件——`engine.js`和`util.js`,这些都是学习DWR的关键组件。 1. **DWR基础概念**: DWR的核心功能是提供一种方式,使得客户端JavaScript可以...

    《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史

    以上内容总结了《JavaScript DOM 编程艺术》第一章的读书笔记,概括了JavaScript简史,从而让我们了解到这一语言的发展脉络,以及它如何从最初的技术竞争中走向标准化,并最终成为现代Web开发不可或缺的一部分。

    dwr3 学习笔记<一>

    《DWR3学习笔记&lt;一&gt;——深入了解Direct Web Remoting技术》 Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在Web浏览器中与服务器端的Java对象进行交互,实现异步更新页面,从而提高Web应用的...

    jQuery学习笔记之基础中的基础

    标题《jQuery学习笔记之基础中的基础》表明本文是关于jQuery的入门指导,针对的是刚开始接触jQuery的初学者,旨在传授jQuery的核心概念和基础用法。内容围绕jQuery的核心功能和优势展开,通过实例操作和对比,介绍...

    DWR 2.0M3 学习笔记

    1. **DWR的基本原理**:DWR通过JSON或XML格式在浏览器与服务器之间传输数据,实现了AJAX(Asynchronous JavaScript and XML)的功能,但比传统的AJAX更易用,因为它隐藏了大部分复杂性,开发者只需要关注业务逻辑。...

    epub-0.3.js javascript实现

    在标题“epub-0.3.js javascript实现”中,提到的是epub.js的一个特定版本——0.3版。这个版本可能包含了该库的一系列功能,例如解析EPUB文件的元数据、章节结构、样式和脚本,以及渲染内容到网页上。开发者通常会...

    跨域解决方案整理笔记.docx

    跨域解决方案是对Web开发中遇到的一个重要问题的回应,源于浏览器的安全策略——同源策略。同源策略限制了从一个域名、协议或端口访问另一个域名、协议或端口的资源,以保护用户数据不被恶意网站窃取。在开发过程中...

Global site tag (gtag.js) - Google Analytics