js为什么根据id就可以找到容器里的子元素,而根据类名就找不到?

JavaScript028

js为什么根据id就可以找到容器里的子元素,而根据类名就找不到?,第1张

因为id是具有唯一性的,就好比身份证号码,一个id只能代表一个子元素,所以用 getElementById 方法可以立刻找到指定的子元素。

而类则不是唯一的,就比如“学生”是一个类,它代表的是一大群人,所以用 getElementsByClassName 方法返回的是一个对象集合而不是单个对象(即使类下面只有一个子元素),因此必须改成 ...getElementsByClassName('bt')[0].children

其实你只要够聪明,你就能从 getElementsByClassName 最中间的那个s想到原因了(s代表复数),而 getElementById 是没有s的!

首先如果是很多个元素的话选择元素方式就错了,用ID选择只能选1个,而要放在不同的DIV上显示指定样式是多元素。如果是单个的但是ID值不停变化那paymentover.onmouseover = function () {this.style.border='1px solid #000'} 就行了。

js中如何获取一个id的值:

方法一、

<html>

<head>

<script language="javascript">

function print(){

var a=myform.name.value

alert(a)

}

</script>

</head>

<body>

<form name="myform">

<input type="text" name="name" id="nn" />

<input type="button" name="button" value="获取" onclick="print()" />

</form>

</body>

</html>

这是获取网页input值的方法之一,给from一个名字然后在JavaScript的地方就可以用form的名字来调用form表单里input元素的value属性可以得到值,并把值赋给a,最后用JavaScript的alert()打印方法打印出来。

方法二、

Java代码

<html>

<head>

<script language="javascript">

function print(){

var a=document.getElementById("nn").value

alert(a)

}

</script>

</head>

<body>

<form>

<input type="text" name="name" id="nn" />

<input type="button" name="button" value="获取" onclick="print()" />

</form>

</body>

</html>

上面的两种方法都可以得到页面里input元素的值,一个是用表单名,一个是用元素id。

方法有两种:

1、通过jquery的方式,使用id选择器方式获取节点,然后获取值。

2、通过原生的dom方式,获取id的值。

每一个HTML元素都使用id来进行一个标注,随后可以通过document.getElementById(“ID名称”)取得指定的ID元素对象,取得元素对象之后就可以对其进行操作。

但是document.getElementById()只能取得一个元素信息。

document.getElementById(“id”) 获取到的是整个对象。

document.getELementById(“id”).innerHTML;才可以获取到其中的内容。

document.getElementById('con')获取的只是P标签,返回的[objectHTMLParagraphElement]。

document.getElementById('con').innerHTML获取的才是P标签里的内容,返回的是JavaScript。

扩展资料:

JavaScript脚本语言具有以下特点:

(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。

不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。

同时,有些特殊功能(如AJAX)必须依赖Javascript在客户端进行支持。随着引擎如V8和框架如Node.js的发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。

参考资料来源:百度百科-javascript