想要通过js获取ID父元素下class的值,该怎么写,

想要通过js获取ID父元素下class的值,该怎么写,,第1张

没有按照JS语言规范来写当然会报错。

documentgetElementById("") 里边就不要用 +拼接符了,而且后边不是document,而是直接一个点就可以了。

for 循环也有问题。

不要用O=0;这样难以区分,养成好的习惯

var sstab = documentgetElementById('yearr')getElementsByClassName("stab");

for(var i=0;i<sstablength;i++) {

var rowss = sstab[i]rows; //rows 十个什么鬼

for (var k = 0; k < rowsslength; k++){

// for 循环是标准的 for(){} 括号加大括号 你这又少个大括号是什么意思。

}

{

看来你基础还很薄弱,继续加油吧,帮你看 也是在提升自己。

还有养成

consolelog() ,还有 alealert () 检查代码的习惯,因为你写了一大串然后看报错了找死你,都不知道哪里错了,浪费时间

(1)选择某一个对象利用jquery中的Sibling,Parent,Children等方法向上或者向下查找即可

(2)注意:如果该标签是input标签取值用val方法,如果为其他用html或者text方法

(3)延伸下:可以利用当前事件的this来快速获得class的值,如果可能的话,或者利用find方法来快速查找,更加快捷

用js如何获取div中css的

margin、padding、height、border等。你可能说可以直接用documentgetElementById("id")stylemargin获取。但是你说的只能获取直接在标签中写的style的属性,无法获取标签style外的属性(如css文件中的属性)。而下面方法则两者值都可以获取。

实例效果图如下:

js在获取css属性时如果标签中无style则无法直接获取css中的属性,所以需要一个方法可以做到这点。

getStyle(obj,attr)

调用方法说明:obj为对像,attr为属性名必须兼容js中的写法(可以参考:JS可以控制样式的名称写法)。

Js代码

复制代码

代码如下:

function

getStyle(obj,attr){

var

ie

=

!+"\v1";//简单判断ie6~8

if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition写法,识别backgroundPositionX/Y

if(ie){

return

objcurrentStylebackgroundPositionX

+"

"+objcurrentStylebackgroundPositionY;

}

}

if(objcurrentStyle){

return

objcurrentStyle[attr];

}

else{

return

documentdefaultViewgetComputedStyle(obj,null)[attr];

}

}

jQuery的元素选择器可以根据class选择元素。例如,获取class='aaa'的DIV元素的代码为:$("divaaa")

。下面提供一个具体的示例,HTML结构如下:

<div

id='a'><div

class='aaa'></div></div>

<div

id='b'><div

class='aaa'></div></div>

<div

id='c'><div

class='aaa'></div></div>

1、获取id为b的div下的aaa类元素

$("divaaa")获取的是所有的aaa类,如果限定为b元素下的aaa类,可以配合后代选择器使用,代码为:$("div#b

divaaa")

2、获取id为a或者c的div下的aaa类元素

如果需要获取多个不同类型的对象,可以使用逗号(,)分隔,所以相应代码为:

$("#a

aaa,

#c

aaa")

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

function getClassName(obj,sName) //-->obj是要获取元素的父级

{ //-->sName是class名字

if(documentgetElementsByClassName)

{

return objgetElementsByClassName('sName');

}

else

{

var aTmp = objgetElementsByTagName('');

var aRes=[];

var arr =[];

for(var i=0;i<aTmplength;i++)

{

arr = aTmp[i]classNamesplit(' ');

for (var j=0;j<arrlength;j++)

{

if(arr[j] == sName)

{

aRespush(aTmp[i]);

}

}

}

return aRes;

}

}

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

如果你知道div的class : $("classname")attr("id") 获得id

如果你知道div的id :$("#id")attr("class")获得class

如果都不知道,就要循环所有的div自己去判断了

var divs=$(div);

for(var i=0;i<divslength;i++)

{

//你的判断

}

获得div有什么属性 比如 data-id="a"

$("div[data-id='a']")attr("id")//获得id

$("div[data-id='a']")attr("class")//获得class

分为以下2种情况: 

1如果css写成行内样式,可以通过获取style属性的值来判断,示例如下: 

判断id为divid的div元素是否有font-size样式:

2如果css写成类样式,可以通过获取class属性的值来判断,示例如下: 

判断id为divid的div元素是否含有类样式divclass:

描述: 为每个匹配的元素添加指定的样式类名

$('div')addClass('className');//为所有div添加名为className的class1

removeClass 

描述: 移除集合中每个匹配元素上一个,多个或全部样式。

$('div')removeClass('className');//将所有div上名为className的class移除1

toggleClass 

描述: 在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类。

$('div')toggleClass('className');//如果div上有这个class就删除,没有就添加。

以上就是关于想要通过js获取ID父元素下class的值,该怎么写,全部的内容,包括:想要通过js获取ID父元素下class的值,该怎么写,、Jquery如何获取相同的class里的某一个class的值、js获取某元素的class里面的css属性值代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存