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
参考资料:
以上就是关于JS中获取表现的问题name和tagname全部的内容,包括:JS中获取表现的问题name和tagname、如何根据HTML标签的id属性和标签名称来获取节点、jQuery 怎么获取类名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)