我使用一些jQuery来突出显示表单字段。但输入字段本身并未突出显示,而是其父节点。我想指定那些父母。
这里的父级是div,它工作正常
$("div input").focus(function () {
$(this).parent().addClass("focus");
});
但是我想指定父“td”就像这个
$("div,td input").focus(function () {
$(this).parent().addClass("focus");
});
但这不起作用。只有td字段才能获得焦点属性!知道如何处理这个吗?
答案 0 :(得分:4)
逗号将两个选择器完全分开;您需要指定input
两次:
$('div input, td input').focus(function() {
$(this).parent().addClass("focus");
});
或者,如果您没有多少{em> 符合此条件的<input>
,则可以让它更整洁:
$('input').focus(function() {
$(this).parent('div, td').addClass('focus');
});
答案 1 :(得分:1)
您必须记住,使用,
创建一个完整的新选择器!
您正在寻找
$('div input, td input').focus(function() {
$(this).parent().addClass("focus");
});
答案 2 :(得分:1)
如果您将所有输入字段定位为父级,则可以执行以下操作: -
$('input').focus(function () {
$(this).parent().addClass('focus');
});
答案 3 :(得分:1)
你应该使用子选择器:
$("div > input, td > input")
.focus(function () {
$(this).parent().addClass("focus");
})
.blur(function () {
$(this).parent().removeClass("focus");
});
答案 4 :(得分:1)
http://api.jquery.com/multiple-selector/
$('td input, div input').focus(function () {
$(this).parent().addClass("focus");
});
答案 5 :(得分:1)
我认为问题在于您选择div
和td input
而不是div input
和td input
。逗号用作选择器的分隔符。
如果您没有任何其他input
字段,则可以使用以下内容:
$("input")
或者如果您需要将div
限制为td
,那么:
$("div input, td input");
答案 6 :(得分:0)
$('input').parent('td').addClass('focus');
答案 7 :(得分:0)
$('td input').add().parent().doSOmething()