JS中获取表现的问题name和tagname

JS中获取表现的问题name和tagname,第1张

getElementsByName是根据标签的name属性来拿的

getElementsByTagName是根据标签名来拿

getElementsByName()

这个是通过NAME来获得元素,但不知大家注意没有,这个是GET ELEMENTS,复数ELEMENTS代表获得的不是一个元素,为什么呢?

因为DOCUMENT中每一个元素的ID是唯一的,但NAME却可以重复。打个比喻就像人的身份z号是唯一的(理论上,虽然现实中有重复),但名字

重复的却很多。如果一个文档中有两个以上的标签NAME相同,那么getElementsByName()就可以取得这些元素组成一个数组。

比如有两个DIV:

<div name="docname" id="docid1"></div>

<div name="docname" id="docid2"></div>

那么可以用getElementsByName("docname")获得这两个DIV,用getElementsByName("docname")[0]访问第一个DIV,用getElementsByName

getElementsByTagName()

这个呢就是通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中当然会有相同的标签,所以这个方法也是取得一个数组。

下面这个例子有两个DIV,可以用getElementsByTagName("div")来访问它们,用getElementsByTagName("div")[0]访问第一个DIV,用

getElementsByTagName("div")[1]访问第二个DIV。

1 通过顶层document节点获取:

(1)

documentgetElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法。如果页面上含有多个相同id的节点,那么只返回第一个节点。

如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id。这个方法可以看作是documentgetElementById()的另外一种写法,不过$()的功能更为强大,具体用法可以参考它们各自的API文档。

(2)documentgetElementsByName(elementName):该方法是通过节点的

name获取节点,从名字可以看出,这个方法返回的不是一个节点元素,而是具有同样名称的节点数组。然后,我们可以通过要获取节点的某个属性来循环判断是否为需要的节点。

例如:在HTML中checkbox和radio都是通过相同的name属性值,来标识一个组内的元素。如果我们现在要获取被选中的元素,首先获取改组元素,然后循环判断是节点的checked属性值是否为true即可。

(3)documentgetElementsByTagName(tagName):该方法是通过节点的Tag获取节点,同样该方法也是返回一个数组,例如:documentgetElementsByTagName('A')将会返回页面上所有超链接节点。在获取节点之前,一般都是知道节点的类型的,所以使用该方法比较简单。但是缺点也是显而易见,那就是返回的数组可能十分庞大,这样就会浪费很多时间。那么,这个方法是不是就没有用处了呢?当然不是,这个方法和上面的两个不同,它不是document节点的专有方法,还可以应用其他的节点,下面将会提到。

2、通过父节点获取:

(1)parentObjfirstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持

parentObjfirstChildfirstChildfirstChild的形式,如此就可以获得更深层次的节点。

(2)parentObjlastChild:很显然,这个属性是获取已知节点(parentObj)的最后一个子节点。与firstChild一样,它也可以递归使用。

在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:parentObjfirstChildlastChildlastChild

(3)parentObjchildNodes:获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。

注意:经测试发现,在IE7上获取的是直接子节点的数组,而在Firefox20011上获取的是所有子节点即包括子节点的子节点。

(4)parentObjchildren:获取已知节点的直接子节点数组。注意:经测试,在IE7上,和childNodes效果一样,而Firefox20011不支持。这也是为什么我要使用和其他方法不同样式的原因。因此不建议使用。

(5)parentObjgetElementsByTagName(tagName):使用方法不再赘述,它返回已知节点的所有子节点中类型为指定值的子节点数组。例如:parentObjgetElementsByTagName('A')返回已知的子节点中的所有超链接。

3、通过临近节点获取:

(1)neighbourNodepreviousSibling:获取已知节点(neighbourNode)的前一个节点,这个属性和前面的firstChild、lastChild一样都似乎可以递归使用的。

(2)neighbourNodenextSibling:获取已知节点(neighbourNode)的下一个节点,同样支持递归。

4、通过子节点获取:

(1)childNodeparentNode:获取已知节点的父节点。

"1、利用标签名获取元素

$(""标签名"")

2、通过ID获取元素

$(""#id_name"")

3、通过 类名获取元素

$(""className"")

4、一次性获取多个元素

$(""元素名, 元素名, 元素名 "")

5、通过指定层次关系获取元素

$(""祖先 子孙"")

$(""父 > 子"")

$(""前 + 后"")

$(""兄 ~ 弟"")

6、根据元素的属性值获取元素

[attribute]

[attribute = value]

[attribute != value]

[attribute ^= value]

[attribute $= value]

[attribute = value]"

String temp = jtabbedpanegetTitleAt(jtabbedpanegetSelectedIndex());

getSelectedIndex()方法表示获得当前选择的选项卡的索引值(int类型,从0开始,-1表示未选中任何选项卡)。

getTitleAt(index)方法表示获得索引值为index的选项卡的标题。

1导入JQuery插件(jar包)

首先到家可以自行前往官网下载JQueryjar包,博主下载的是331版本的,读者可自行选择版本

jar包导入很简单,首先我们传建一个项目,在项目中创建一个名为js的文件夹,把下载好的jar包粘贴到js文件夹即可,如:

 

2JQuery的基本使用方法

1连接

在编写项目中我们一般使用外联法,即新建一个后缀名为js的文件,用以下方法在HTML文件的<head>标签中添加下面两行代码,第一行为下载的JQueryjar包的文件地址,第二个则是我们新建的js文件(注意:新建js文件一定要写在JQueryjar包后,因为执行顺序是从上往下,先解析jar包在解析我们自己新建的js文件)

<script src="/js/jquery-331minjs"></script>

<script src="/js/loginjs"></script>

2编写

在js文件中我们第一件事就是要编写这样一个语句

  $(function(){

JQuery语句体;

  })

其作用为:$(function(){})是$(document)ready(function(){})的简写,或者$()ready(function(){}),会在DOM加载完成之后执行。也就是会在项目最后执行,就不会产生在THML语句前执行而出现的一系列问题;

3DOM对象与JQuery对象之间的转换

1获取DOM对象

var 对象名 = document(id获取,class获取,标签名获取)(“id名,class名,标签名”);//创建DOM对象

documentgetElementsById("Obj")

documentgetElementsByClassName("Obj")

documentgetElementsByName("div");

      var Domobj = documentgetElementById("Obj");//获取id为Obj的对象

      alert(DomobjinnerHTML);//输出Domobj对象的HTNL内容在d窗上

 

 

2获取JQuery对象

var $对象名 = $("#id名 或者 class名 或者 标签名")

//获取Jquery对象

      var $JQobj = $("#Obj");$("#xx")获取id名 $("xx")获取class名 $("div")获取标签名

      alert($JQobjhtml());

 

 

3DOM对象---->JQuery对象

var $对象名 = $(DOM对象);

// Dom对象--->Jquery对象

      var $D_JQ = $(Domobj);

      alert($D_JQhtml()) ;//获取标签体

      $D_JQhtml("对呀,你真可爱");

 

4JQuery对象---->DOM对象

var Dom对象名 = $JQuery对象名[0];

var Dom对象名 = $JQuery对象get(0);

// Jquery对象--->Dom对象

      var JQ_D = $JQobj[0];

      alert(JQ_DinnerHTML);

      JQ_DinnerHTML = "天呐,你也太可爱了吧";

      var JQ_D = $JQobjget(0);

      JQ_DinnerHTML = "天呐,你也太可爱了吧";

其实JQuery对象实际上就是DOM对象的的一个数组,[0],get(0)即为获取DOM对象数组中的第一个元素

js获取html元素的方式

+通过ID获取:getElementById('id属性值')

+通过标签名:getElementsByTagName('标签名')

+通过类名:getElementsByClassName('类名')

+通过name属性:getElementsByName('name属性值')

+通过选择器获取一个元素:querySelector

+通过选择器获取一组元素:querySelectorAll

1获取id值为d1的html元素

将获取到的html元素称为DOM节点对象,必须传参数,参数是string类型,是获取元素的id。返回值只获取到一个元素,没有找到返回null。

2通过标签名:getElementsByTagName('标签名')

参数是是获取元素的标签名属性,不区分大小写,根据标签名获取html元素, 返回的是一个数组(伪数组) 

通过类名:getElementsByClassName('类名')

参数是元素的类名,返回值是一个类数组,没有找到返回空数组。

通过类名:getElementsByClassName('类名')

必须传参数,参数是是获取元素的name属性,返回值是一个类数组,没有找到返回空数组。

通过选择器获取一个元素:querySelector

参数是选择器,返回值只获取到第一个元素。

通过选择器获取一组元素:querySelectorAll

参数是选择器,返回值是一个数组。

SELECT t内容,p标签 ,o分类名 FROM `文章` t LEFT JOIN (select `文章Id`, GROUP_CONCAT(`标签名` separator ',') 标签  from 标签 group by `文章Id`) p on tid= p文章Id LEFT JOIN 分类 o on o分类id=t分类id

参考资料:

meizhi520com/read/4824

以上就是关于JS中获取表现的问题name和tagname全部的内容,包括:JS中获取表现的问题name和tagname、如何根据HTML标签的id属性和标签名称来获取节点、jQuery 怎么获取类名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9605930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存