原生JS获取某节点的方法:
documentgetEelementById(id);//根据id获取此节点
documentgetEelementsByName(name);//根据name获取此节点集
documentgetEelementsByTagName(tagName);//根据标签名获取此节点集
documentgetEelementsByClassName(className);//根据class名称获取此节点集
documentquerySelector(selector);//根据此选择器获取此节点集第一个节点
documentquerySelectorAll(selector);//根据此选择器获取所有此类节点集
var $container = documentgetElementById('container');
var $ul = $containergetElementsByTagName('ul');
// 要取的class
var className = 'col';
var ulCollection = [];
for (var i = 0; i < $ullength; i += 1) {
var ul = $ul[i],
classList = ulclassNamesplit(' ');
for (var j = 0; j < classListlength; j += 1) {
if (className === classList[j]) {
ulCollectionpush(ul);
break;
}
}
}
consolelog(ulCollection);
代码 请收下~~~~
<body><span class="okdog" lay-id="user1">1只狗</span><span class="okdog" lay-id="user2">2只狗</span><span class="okdog" lay-id="user3">3只狗</span><span class="okdog" lay-id="user4">4只狗</span><span class="okdog" lay-id="user5">5只狗</span>
<div id="showdog">输出结果</div>
<script>
var res = documentgetElementsByClassName('okdog');
for(var i=0;i<reslength;i++){
res[i]addEventListener('click',function(e){
alert(esrcElementinnerHTML)
},false);
}
</script>
</body>
下面例子通过documentgetElementsByClassName("class1")获取所有同一class的元素,使用for循环把取得的div元素的值存入数组arr中,完成的代码如下:
运行结果,打印数组如下:
扩展资料:
js或jQuery获取html元素的值的常用方法:
例如:<div id="aa">值</div>
js写法:
alert(documentgetElementById('aa')innerHTML);
jQuery写法:
alert($('#aa')html());
说明如下:
innerHTML是取元素的内部html代码,此例中即div内部的所有html代码。
html()方法作用也是取dom节点的内部html内容,是jQuery中的函数方法。
原生JS通过id和class获取元素是用,documentgetElementById(IDname),documentgetElementsByClassName('ClassName');
兼容性:ID兼容,class 不兼容IE6,7,8
数量: 通过ID只能获取一个dom元素,通过class可以获取一组元素。
通用性:ID不能重复,class可以重复,所以class比较好用,这也是jQuery能被广泛应该的原因(选择器好)。
虽然没说要干嘛,但是我看了下脚本执行,你使用
var nav = documentgetElementById("list_menu"); 这个要获取的只能是id的值,而不能是class的值的元素,如果你想要获取相同class名的元素的话,要用下面的命令。。。
var nav = documentgetElementsByClassName("list_menu");
通过你的代码我修改了下,执行的后果是。。
具体测试如下:
<script type="text/javascript" language="javascript">
windowonload=function (){
//var nav = documentgetElementById("list_menu");
var nav = documentgetElementsByClassName("list_menu");
alert(navlength);
var links = navgetElementsByTagName("li");
var lilen = navgetElementsByTagName("a");
var currenturl = documentlocationhref;
var last = 0;
for (var i=0;i<linkslength;i++)
{
var linkurl = lilen[i]getAttribute("href");
if(currenturlindexOf(linkurl)!=-1)
{
last = i;
links[last]className = "current";
}
}
}
</script>
把获取class的nav变量修改下就好了,~~~
以上就是关于js中获取标签里面的值除了document.getEelementById()和document.getEelementsByName()之外还有那些方法全部的内容,包括:js中获取标签里面的值除了document.getEelementById()和document.getEelementsByName()之外还有那些方法、谁能帮我把document.getElementById取值换成根据class取值,必有重谢、js获取class对象的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)