动态属性Jquery选择器attr(';for=";*";';)

动态属性Jquery选择器attr(';for=";*";';),jquery,Jquery,Jquery选择器: //left side $('section.abstract label.gcsubheader') //right side $('fieldset.abstract label.formElems') 两者都返回:(类不同,但对于=“*”的保持不变) 或 要完成选择带有标签for=“design”的元素,如选择器($('label[for=“design”]),但要动态执行。我的想法是,我第一次尝试重构,并且有很多元素,当我单击一个元素时,我希望找到它自己,另一个元

Jquery选择器:

//left side
$('section.abstract label.gcsubheader')
//right side
$('fieldset.abstract label.formElems')
两者都返回:(类不同,但对于=“*”的
保持不变)

要完成选择带有
标签for=“design”
的元素,如选择器
($('label[for=“design”])
,但要动态执行。我的想法是,我第一次尝试重构,并且有很多元素,当我单击一个元素时,我希望找到它自己,另一个元素共享它的
标签作为
字符串

我试过:

$('section.abstract label.gcsubheader').click(function () {
     var $this = $(this).text().toLowerCase();
     //left element - hide
     $('section.abstract label.gcsubheader')..find($('label[for="' + $this + '"]')).show();
     //Right Side - show
     $('fieldset.abstract label.formElems').find($('label[for="' + $this + '"]')).show();
}

不知道我做错了什么。我是否必须允许另一层抽象来获取/定义元素的文本,或者是我的语法错误,或者是其他原因?我希望得到这个,这样我就可以切换左边和右边的。hidden类,提供非常健壮的代码重构,可能是这样的

$('label[for="*"]').click(function () {
   // for each .toggleClass('hidden'); 
}

虽然我也不太确定如何为每个
编写
*
,但我会做到的。非常感谢您的帮助。

在第一次调用
find()
之前,您还有一个额外的
,还有一个未关闭的字符串文本作为参数传递给它。注意内部函数和
单击方法的结束括号。当您可能需要
.hide()
时,您也在为左侧元素使用
.show()

此外,可以像这样将attribute equals选择器附加到原始选择器语句中(我没有完整的html,因此可能需要稍微调整选择器):

对于绑定到任何一个标签,请考虑使用“代替<代码> for =‘*’<代码>:

$('label[for]').click( /* ... */ );
$('section.abstract label.gcsubheader').click(function () {
     var $this = $(this).text().toLowerCase();
     //left element - hide
     $('section.abstract label.gcsubheader')..find($('label[for="' + $this + '"]')).show();
     //Right Side - show
     $('fieldset.abstract label.formElems').find($('label[for="' + $this + '"]')).show();
}
$('fieldset.abstract label.formElems').find($('label[for="' + $(this).text().toLowerCase() + '"]')).show();
$('label[for="*"]').click(function () {
   // for each .toggleClass('hidden'); 
}
$('section.abstract label.gcsubheader').click(function () {
    var $this = $(this).text().toLowerCase();

    //left element - hide
    $('section.abstract label.gcsubheader[for="' + $this + '"]').hide();

    //Right Side - show
    $('fieldset.abstract label.formElems[for="' + $this + '"]').show();
});
$('label[for]').click( /* ... */ );