Jquery 这到底是什么,身份证?

Jquery 这到底是什么,身份证?,jquery,Jquery,当我发现时,我正在使用JQuery对DIV进行一些动态影响 this.id的返回值因函数而异。 我得到了两组简单的父子DIV标记,如下所示: <DIV ID="row"> <DIV ID="c1"> <Input type="radio" name="testing" id="testing" VALUE="1">testing1 </DIV>

当我发现
时,我正在使用JQuery对DIV进行一些动态影响
this.id的返回值因函数而异。

我得到了两组简单的父子DIV标记,如下所示:

        <DIV ID="row">
        <DIV ID="c1">              
        <Input type="radio" name="testing" id="testing" VALUE="1">testing1
        </DIV>
        </DIV> 
        <DIV ID="row">
        <DIV ID="c2">              
        <Input type="radio" name="testing" id="testing" VALUE="2">testing2
        </DIV>
        </DIV> 

代码2

$('#row DIV').mouseover(function(){ 
var childDivID = this.id;
radio_btns.each(function() {
$('#'+childDivID).parent('DIV').addClass('testing');  // didn't work
});
});

我不明白为什么只有第一个代码才能工作
并突出显示所有“行”DIV,
但第二个代码未能执行此操作?

请尝试以下操作:

var childDivID = $(this).attr('id');
试试这个:

var childDivID = $(this).attr('id');

首先,您多次使用相同的ID,这将导致各种奇怪的行为,因为它是无效的HTML

更正后,对于第二个代码示例,需要进行调整以突出显示悬停时的当前行(注意
。row
现在是一个类以消除ID问题):

但是,有一种更好的方法可以实现这一点,因为您已经有了对对象的引用:

一般来说,我想不出有哪种情况需要使用
$(“#”+this.id)
,如果您有
this
,那么应该使用
$(this)
来获取所需的jQuery对象

还有一项,在问题之外,如果您想在本例中悬停,请使用和:


首先,您多次使用相同的ID,这将导致各种奇怪的行为,因为它是无效的HTML

更正后,对于第二个代码示例,需要进行调整以突出显示悬停时的当前行(注意
。row
现在是一个类以消除ID问题):

但是,有一种更好的方法可以实现这一点,因为您已经有了对对象的引用:

一般来说,我想不出有哪种情况需要使用
$(“#”+this.id)
,如果您有
this
,那么应该使用
$(this)
来获取所需的jQuery对象

还有一项,在问题之外,如果您想在本例中悬停,请使用和:


可能重复的意思是“但第二个代码未能这样做”?同一页上不能有两个id相同的元素。可能重复的意思是“但第二个代码未能这样做”?同一页上不能有两个id相同的元素。为什么是。行而不是?行?它们在JQuery中的含义不同吗?@kwokwai-它们是,
。行
搜索具有
行的元素,
#行
查找具有
id
行的元素。为什么是。行而不是#行?它们在JQuery中的含义不同吗?@kwokwai-它们是,
搜索具有
行的元素,
查找具有
id
行的元素。
$('.row div').mouseover(function(){
    $('#'+this.id).parent('div').addClass('testing');
});​
$('.row div').mouseover(function(){
    $(this).addClass('testing');
});​
$('.row div').hover(function(){
    $(this).toggleClass('testing');
});​