发布:2024/12/23 21:05:24作者:管理员 来源:本站 浏览次数:119
js中没有获取class的办法,找了一些封装好的方法,这里整理一下
(1)先进行封装
//封装getClass
function getClass(tagName,className) //获得标签名为tagName,类名className的元素
{
if(document.getElementsByClassName) //支持这个函数
{ return document.getElementsByClassName(className);
}
else
{ var tags=document.getElementsByTagName(tagName);//获取标签
var tagArr=[];//用于返回类名为className的元素
for(var i=0;i < tags.length; i++)
{
if(tags[i].class == className)
{
tagArr[tagArr.length] = tags[i];//保存满足条件的元素
}
}
return tagArr;
}
}
(2)主体程序
<ul>
<li class="dicTap">1</li>
<li class="dicTap">2</li>
<li class="dicTap">3</li>
<li class="dicTap">4</li>
</ul>
(3)获取class为dicTap的所有li内容程序
复制代码
window.onload = function()
{ var topMenus = getClass('li','dicTap');
for(var i=0;i < topMenus.length; i++)
{
alert(topMenus[i].innerHTML);
}
}
复制代码
(4)项目中实际应用
//点击的 自定义属性personid,打开详情页面并且进行跨页面传值
var dicTap = getClass('li','dicTap');
for(var i=0;i <dicTap.length; i++)
{
dicTap[i].addEventListener('tap',function(){
var personId=this.getAttribute("personid");
localStorage.a=personId;
mui.openWindow({
url: 'disciplineDetail.html',
id:'disciplineDetail'
});
})
}
//封装getClass
function getClass(tagName,className) //获得标签名为tagName,类名className的元素
{
if(document.getElementsByClassName) //支持这个函数
{ return document.getElementsByClassName(className);
}
else
{ var tags=document.getElementsByTagName(tagName);//获取标签
var tagArr=[];//用于返回类名为className的元素
for(var i=0;i < tags.length; i++)
{
if(tags[i].class == className)
{
tagArr[tagArr.length] = tags[i];//保存满足条件的元素
}
}
return tagArr;
}
}
© Copyright 2014 - 2025 柏港建站平台 ejk5.com. 渝ICP备16000791号-4