Javascript 更改父类
我的javascript有一个无法解释的问题。以下是html:Javascript 更改父类,javascript,jquery,html,Javascript,Jquery,Html,我的javascript有一个无法解释的问题。以下是html: <body> <div id='slidecarousel' class='slide1' onclick='No functions can be here'> <div id="sliderButton" onclick='pageSlider(this)'>Next Slide</div> <div id='piece of slider...'></div&g
<body>
<div id='slidecarousel' class='slide1' onclick='No functions can be here'>
<div id="sliderButton" onclick='pageSlider(this)'>Next Slide</div>
<div id='piece of slider...'></div>
<div...></div>
...
</div>
</body>
pDiv是一个jQuery对象,不是DOM元素,因此它没有className属性。您可以使用以下方法获取第一个DOM元素:
pDiv[0]
所以,只需改变这一点:
var pDiv = $(elem).parent('#slidecarousel')
为此:
var pDiv = $(elem).parent('#slidecarousel')[0];
作为一个额外的改变,这没有多大意义:
var pDiv = $(elem).parent('#slidecarousel')
如果您只需要#slidecarousel
对象,则只需使用:
var pDiv = $('#slidecarousel')[0];
因为整个页面中只能有一个#slidecarousel
对象
或者,如果您只需要
elem
的父级,请使用以下命令:
var pDiv = elem.parentNode;
或者,您也可以像下面这样使用
.closest()
:
var pDiv = $(elem).closet(".slide1")[0];
你应该做:
pDiv[0].className.match(
或
Cheers使用jQuery的方法测试类:
if (pDiv.hasClass("class1"))
pDiv
是一个jQuery对象,className
是DOM元素的属性。你为什么不使用jQuery的.hassClass()
方法?请检查这个为什么不var pDiv=$(“#slidecarousel”)
@ArunPJohny-我真的不明白OP试图用$(elem).parent(“#slidecarousel”)做什么
。答案的要点是,在访问.className
之前,他们需要使用[0]
来获取DOM对象。
pDiv.attr("class").match(
if (pDiv.hasClass("class1"))