js通过class选择器获取数组的简单介绍

发布时间:2023-12-08

js通过class选择器获取数组的简单介绍

更新:2022-11-16 06:26

本文目录一览:

  1. js获取了一个dom对象怎么操作
  2. jquery 是如何通过 class 来获取元素的?
  3. js怎么通过class获取元素
  4. js 如何根据class获取对象
  5. 源生JS通过class类名选择元素的问题。
  6. js怎么根据class获取元素

js获取了一个dom对象怎么操作

js中有四种获取dom的方法:

  • 根据ID获取对象:document.getElementById(ID);
  • 根据class获取对象数组:document.getElementsByClassName("box");
  • 根据tag获取对象数组:document.getElementsByTagName("p");
  • 根据name获取对象数组:document.getElementsByName(NAME); 用jquery选择器就多得去了,一般都用jquery,js一大串代码用jquery几个符号搞定。
  • 根据ID获取对象:$('#ID');
  • 根据class获取对象数组:$(".box");
  • 根据tag获取对象数组:$("p");
  • 根据name获取对象数组:$('input[name="nw"]');

jquery 是如何通过 class 来获取元素的?

jquery通过任何选择器取得的对象都是jquery对象而不是JavaScript的dom对象不能用js的方法进行操作 而需要使用jquery对象支持的方法 如果是通过class的话取得的是jquery对象数组 ps 如果想把jquery对象装换为js对象可以用以下方法

  1. var obj = $('#xx')[0] 获得dom对象
  2. 对于数组
var obj = $('.xx').each(function(){
    alert(this) //这里 this获得的就是每一个dom对象 如果需要jquery对象 需要写成$(this)
});

js怎么通过class获取元素

根据你的需求,举例如下:

  • document.querySelector:获取首个(单个)符合条件元素
document.querySelector('.name'); //获取页面上首个class属性中包含name的元素。
  • document.querySelectorAll:获取全部符合条件元素
document.querySelectorAll('.name'); //获取页面上全部class属性中包含name的元素。

js 如何根据class获取对象

for(var i=0;iobj.length;i++){
    if(obj[i].className == 'a') //找出span标记中class=a的那个标记
    {
        var getObj = obj[i];
        value = getObj.innerHTML; //获得他的innerHTML
    }
}
//或者通过Jquery,ext,等JS插件来处理也可以。。。

源生JS通过class类名选择元素的问题。

for(i=0;iaEle.length;i++)
{
    var classes = aEle[i].className.split(/\s+/);
    for(var j=0;jclasses.length;j++){
        if(classes[j]==sclass)
        {
            aResult.push(aEle[i]); //将选出的所有元素装入数组中
            break;
        }
    }
}

js怎么根据class获取元素

非IE6,7,8可以直接用自带的属性 getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:

function getClassName(obj,sName) //--obj是要获取元素的父级
{ //--sName是class名字
    if(document.getElementsByClassName)
    {
        return obj.getElementsByClassName('sName');
    }
    else
    {
        var aTmp = obj.getElementsByTagName('*');
        var aRes=[];
        var arr =[];
        for(var i=0;iaTmp.length;i++)
        {
            arr = aTmp[i].className.split(' ');
            for (var j=0;jarr.length;j++)
            {
                if(arr[j] == sName)
                {
                    aRes.push(aTmp[i]);
                }
            }
        }
        return aRes;
    }
}

大概思路,是将你要获取class元素父级下的所有元素都取出来,再循环查找className,满足的元素存到数组中,然后返回。