`

JavaScript 操纵css样式

阅读更多

HTML DOM 对象

 

从 JavaScript 的观点来看,网页上的每个 HTML 标签都是一个 DOM 对象,标签的属性也是 DOM 对象的属性。如:

<img id="myimg" src="./image/2.jpg" width="120" border="0" />

从 JavaScript 的观点来看,这个 <img> 标签是一个 Image 对象,它是 DOM 对象的一种。它的 id、src、width、border 属性的值已经指定,其它属性采用默认值。

利用 JavaScript 程序可以访问 DOM 对象,实际上就是用程序访问一个 HTML 标签。你可以通过编程修改一个 DOM 对象的属性,也就是用程序修改一个 HTML 标签的属性,使标签变得可控。

DOM 对象的属性通常与相应的 HTML 标签的属性相对应,名字通常也是相同的,但 DOM 对象的属性需区分大小写。比如 border 属性可以用在 <img><table> 等几种标签中,则对应的 Image 对象、Table 对象等 DOM 对象也拥有 border 属性,取值方法也相同。

有个别 DOM 属性的名字和 HTML 标签的属性名字不同,但它们实际上是同一个属性。比如 HTML 标签的 class 属性对应的 DOM 属性是 className (注意大小写)。这是因为 class 是 JavaScript 保留字,而属性名是不能和保留字同名的。

还有一些 DOM 属性没有与之对应的 HTML 属性,比如 innerHTML 是一个 DOM 属性,它代表的是一个标签所包含的内容。利用这个属性可以修改一个 HTML 的开始标签和结束标签之间的内容。但对于 <img> 等单个标签,它所对应的 Image 对象没有 innerHTML 属性。

另外,DOM 对象还提供有方法,可以在程序中调用。

实际上,DOM 对象不是 JavaScript 特有的对象,它是一种跨平台的对象,有很多语言都提供了对 DOM 对象的访问支持。JavaScript 只是其中之一。

 

对象的获取

 

用 JavaScript 设置或修改一个 HTML 标签的属性时,首先要做的是获取这个标签所对应的 DOM 对象。常用的方法有:

1、用 id 获取 DOM 对象:

如果一个标签设置了 id 属性,我们可以利用 id 值访问这个标签,它的 JavaScript 代码代码为:

document.getElementById( id )

document 是一个 BOM 对象,它代表了当前的 HTML 文档;getElementById 是 Document 对象的一个方法;id 是网页中某个 HTML 标签的 id 属性值。

document.getElementById( id ) 的返回值是一个对象型数据,也就是一个 DOM 对象。

2、用 name 获取 DOM 对象:

如果一个标签设置了 name 属性,我们可以利用 name 值访问这个标签,它的 JavaScript 代码代码为:

document.getElementsByName( name )

说明:在一个网页中,如果为标签设置 id 属性,则各个标签的 id 属性值不能相同,如果为标签设置 name 属性,则一个网页中可以有多个 name 属性值相同的标签。

所以 document.getElementsByName( name ) 的返回值不是单一的对象,而是一个 DOM 对象数组,它包含了本页中所有 name 值相同的那些标签。

3、用标签名获取 DOM 对象:

我们可以直接用标签名访问指定标签,它的JavaScript代码代码为:

document.getElementsByTagName( tagname )

说明:由于在一个网页中,同一种标签可以出现多次,所以 document.getElementsByTagName( tagname ) 的返回值也是一个 DOM 对象数组,它包含了本页中指定种类的所有标签。

比如:document.getElementsByTagName( "img" ) 返回的是一个 Image 对象数组,每个元素对应于网页中的一个 <img> 标签,数组中的元素按 <img> 标签出现的顺序排列。

比较以上三种方法,document.getElementById( id ) 是最好的也是最快的方法,它可以直接访问到网页中一个指定的 HTML 标签,这也是我们今后最常使用的方法。

 

设置或修改标签的属性

 

获取了一个 DOM 对象之后,我们可以为该对象的属性进行赋值,从而修改了它所对应标签的属性值。一般方法是:

DOM对象.属性名 = 值;

DOM 对象的属性名通常和HTML标签的属性名相同,但它要区分大小写,所以在书写时要特别注意。

例1:

<img id="image1" src="./image/2.jpg" border="0" />
<button onclick="setBorder(0)">border="0"</button>
<button onclick="setBorder(1)">border="1"</button>
<button onclick="setBorder(3)">border="3"</button>
<button onclick="setBorder(8)">border="8"</button>

<script type="text/javascript">
function setBorder( n )
{
     document.getElementById( "image1" ).border = n;
}
</script>
设置或修改标签中包含的内容

在那些有开始标签和结束标签的 HTML 标签中,开始标签和结束标签之间的内容就是标签所包含的内容。

利用JavaScript可以重新设置或修改一个标签所包含的内容。有两种方法:

DOM对象.innerHTML = 文本串;
DOM对象.innerText = 文本串;

DOM 对象的 innerHTML 属性和 innerText 属性中存放的就是它对应的 HTML 标签包含的内容。当你修改它时,这个标签中包含的内容也就修改了。

这两个属性的区别在于:innerHTML 属性的值是代码串,如果其中含有 HTML 标签,它们会作为标签被解释。innerText 属性的值是纯文本,如果其中含有 HTML 标签,也会作为字符显示出来,不会被当作标签解释。

注意:赋值的文本串必须写在一行中,中间不能用回车断开。

例1:

<div id="box" style="color:red;border:1px solid blue">&nbsp;</div>
<button onclick="setBox1()">&nbsp;1&nbsp;</button>
<button onclick="setBox2()">&nbsp;2&nbsp;</button>
<button onclick="setBox3()">&nbsp;3&nbsp;</button>

<script type="text/javascript">
function setBox1()
{
     document.getElementById( "box" ).innerHTML = "欢迎光临!";
}
function setBox2()
{
     document.getElementById( "box" ).innerHTML = "<h1>欢迎光临!</h1>";
}
function setBox3()
{
     document.getElementById( "box" ).innerHTML = '<img src="./image/2.jpg" />';
}
</script>

效果为:

 

 

1 ??2 ??3

本例可以通过按钮设置 <div id="box"> 标签的内容。

在 JS 程序中,通过为 document.getElementById( "box" ).innerHTML 属性设置值来修改标签中包含的文本。

注意:在 setBox3() 函数中,由于文本串中包含有双引号,必须用单引号进行分界。

例2:

<a id="a1" href="http://www.bttc.cn/" target="_blank">包头师范学院</a>
<p>
<button onclick="setLink(); this.disabled=true">修改链接</button>
</p>
<script type="text/javascript">
function setLink()
{
     document.getElementById( "a1" ).href = "http://www.163.com/";
     document.getElementById( "a1" ).innerHTML = "网易";
}
</script>

效果为:

包头师范学院

修改链接

本例定义了一个超链接,利用按钮可以修改链接的文本和目的地址。

在 JS 程序中,document.getElementById( "a1" ).href 属性对应的是 <a> 标签的 href 属性,document.getElementById( "a1" ).innerHTML 属性对应的是 <a> 标签包含的内容。

注意一个小细节,当单击“修改链接”按钮后,这个按钮就变得不可用了。这个功能是通过按钮中的 onclick="setLink(); this.disabled=true" 实现的。也就是说,在一个事件句柄的取值中,可以包含多个 JS 语句,它们之间用“;”分界。

分享到:
评论

相关推荐

    jQuery JavaScript与CSS开发入门经典

    iQuery还允许同时为一个或多个元素设置样式,使得通过JavaScript操纵CSS变得分外轻松。 在这本面向项目的精品书籍的指引下,即使是初出茅庐的JavaScript新手也能迅速开始利用JavaScript jQuely库来减少需要编写和...

    Javascript获取相同CSS样式的元素

    在JavaScript中获取具有相同CSS样式的元素是一项常见的任务,特别是在进行网页动态效果或者交互设计时。这个主题主要涉及DOM操作、CSS选择器以及属性访问。接下来我们将深入探讨这些知识点。 首先,我们需要理解DOM...

    使用javascript做的动态网站

    5. **CSS和JavaScript的结合**:使用JavaScript操纵CSS样式,实现动画效果或动态布局。 6. **响应式设计**:确保网站在不同设备和屏幕尺寸上都能正常工作,可能用到媒体查询(Media Queries)等技术。 7. **最佳实践...

    JSP+Javascript+Css帮助文档

    CSS(Cascading Style Sheets)负责定义网页的布局和样式。CSS知识点涉及: 1. **选择器**:如类选择器、ID选择器、标签选择器和后代选择器等,用于定位HTML元素。 2. **盒模型**:包括边距、边框、填充和内容区域...

    js改变css样式

    在本文中,我们将深入探讨如何使用JavaScript来动态地改变CSS样式,以实现如标题所示的效果——通过页面JS事件改变字体颜色和背景颜色。 首先,我们需要了解JavaScript的基本概念。JavaScript是一种解释型的、弱...

    JavaScript DHTML CSS手册

    了解DHTML,开发者需要掌握如何使用CSS来定义元素样式,通过JavaScript来操纵DOM节点,以及如何实现动画效果和事件处理。 CSS作为样式表语言,用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档的呈现。CSS...

    JavaScript dom css参考文档

    总的来说,这三份文档构成了一套完整的前端开发参考工具,涵盖了从编写JavaScript代码到应用CSS样式,再到通过DOM操纵页面元素的全过程。对于想要深入学习Web前端技术或者提升现有技能的开发者来说,这些文档无疑是...

    JavaScript_CSS视图转换的常用模式.zip

    "JavaScript_CSS视图转换的常用模式.zip"这个压缩包很可能包含了关于如何利用JavaScript来操纵CSS,进行视图转换的一些示例或教程。 JavaScript作为前端开发中的重要语言,它提供了强大的能力来操作DOM(文档对象...

    CSS 样式高级学习

    - 使用JavaScript修改CSS:学习如何通过JavaScript操纵DOM元素的样式,实现动态交互效果。 - CSS与jQuery:了解jQuery库如何简化CSS选择器的使用和动画效果的创建。 6. **CSS工作流程与版本控制** - CSS模块化:...

    精通HTML5+CSS3+JavaScript网页设计.z01

    用CSS3设置表格和表单的样式、美化图片、背景和边框:讲述JavaScript内置对象、对象编程、JavaScript操纵css3、HTML5+CSS3和layascript的搭配应用等网页设计的方法和技巧。 通过对《精通HTML5 + CSS3+JavaScript...

    jsp页面中插入css样式的三种方法总结

    在网页设计中,CSS(Cascading Style Sheets)样式用于定义HTML或XML(包括如SVG、MathML等各种XML方言)文档的呈现。...这些文章深入探讨了如何利用JavaScript来操纵CSS,以实现更加复杂和动态的网页效果。

    javascript经典特效---CSS的鼠标影响.rar

    JavaScript是一种广泛用于网页和应用程序的脚本语言,它可以动态地操纵CSS样式,实现更丰富的视觉效果。 【描述】"CSS的鼠标影响.rar"重复多次,暗示这个压缩包包含的内容可能是一个关于CSS鼠标的深入研究项目。...

    基于JavaScript、CSS和DOM的页面动态效果实现.pdf

    在页面加载完成后,JavaScript也可以根据用户的行为来动态添加、修改CSS样式规则,从而实现动态的视觉效果。 ### 动态效果和交互效应的实现 页面动态效果和交互效应的实现,主要依赖于JavaScript与CSS和DOM的紧密...

    3D球体标签云特效,JavaScript CSS实现.rar

    在压缩包内的"3dLable"文件可能是源代码的主要部分,可能包含了HTML结构、CSS样式以及JavaScript逻辑。HTML部分可能包含了用于展示标签的元素,CSS定义了这些元素的外观,而JavaScript则负责动态行为,如球体旋转、...

    JavaScript-projects:该存储库旨在对通过HTML,CSS和JavaScript创建的小型项目进行分组

    9. **CSS与JavaScript的结合**:如何通过JavaScript操纵CSS样式,实现动画效果,或者使用CSS预处理器(如Sass、Less)提升CSS的编写效率。 10. **前端框架和库**:虽然项目可能不包含大型框架如React、Vue或Angular...

    Beginning HTML XHTML CSS and JavaScript[PDF]

    - **样式规则**:讲解如何定义CSS样式规则,改变网页的外观。 - **盒模型**:深入理解CSS盒模型的概念,掌握如何控制元素的布局。 ##### 第8章:更多层叠样式表(CSS) - **布局技巧**:进一步学习CSS布局技巧,如...

    基于JavaScript与CSS的数据可视化项目设计与实现

    在该项目中,首先,你需要掌握JavaScript的基本语法和面向对象编程的概念,这将帮助你理解如何动态地操纵DOM(文档对象模型)以更新可视化。了解数组、对象和函数的深入用法是关键,因为数据通常是以这些形式存储和...

    编程常用手册(asp、sql、JavaScript、CSS、VBScript)

    【编程常用手册】集合了五个重要的技术领域:ASP(Active Server Pages)、SQL(Structured Query Language)、JavaScript、CSS(Cascading Style Sheets)以及VBScript,这些都是网页开发和数据库管理的基础工具。...

    原生JS实现获取及修改CSS样式的方法

    原生JavaScript获取和修改CSS样式是前端开发中常见的操作,理解并熟练掌握这些方法对于动态更新页面样式至关重要。通过`style`对象和`getComputedStyle()`方法,我们可以灵活地操控页面元素的外观。同时,考虑到...

    JavaScript+DHTML+CSS

    6. **DOM操作**:JavaScript可以操纵DOM树,动态添加、删除或修改页面元素,实现如模态对话框、折叠面板等功能。 7. **路由管理**:在单页应用(SPA)中,JavaScript可以处理页面路由,实现不同“页面”间的平滑切换...

Global site tag (gtag.js) - Google Analytics