是否有可能在jQuery中“链接”两个CSS元素?
我项目的一个例子:
当某些事情发生时,我想立即将.focused
类附加到多个元素。它们的ID都有相同的前缀,但这些前缀中只有1个(例如#first-header
- #first-button
; #second-header
- #second-button
等等。它可能会使用一些正则表达式,但我似乎无法弄清楚这些东西。
一个更准确的例子,因为我不善于解释事情:
如果#first-header
为.focused
,请将同一.focused
课程附加到#first-button
。这需要适用于任何一对 -header 和 -button 。
我希望我能够很好地解释它,并感谢任何帮助。
答案 0 :(得分:2)
您可以轻松选择ID为first-
的所有项目
$('[id^="first-"]').addClass('whatever');
答案 1 :(得分:2)
听起来,您应该使用类,而不是在HTML元素的ID中使用模式。
示例HTML:
<div id="first-button" class="button">...</div>
<div id="second-button" class="button">///</div>
使用Javascript:
$(".button").click(function(){ /*do stuff*/});
Javascript会将点击处理程序附加到具有类button
的所有div元素。
答案 2 :(得分:1)
一个元素不能有多个ID。做你正在做的事情的正确方法是给你想要改变像“toFocus”这样的类的所有东西
答案 3 :(得分:1)
$('[id$="header"]').on('focus blur', function(e) {
$('#' + this.id.split('-').shift() + '-button').toggleClass('focused', e.type=='focus');
});
答案 4 :(得分:1)
试试这个:
$("[name$='header']").focus(function(){
var t = $(this).attr("id").split("-")[0];
$("#"+t+"-button").addClass("focus");
});