Javascript 在一个jquery行中对输入和选择执行操作
我有这个工作代码Javascript 在一个jquery行中对输入和选择执行操作,javascript,jquery,Javascript,Jquery,我有这个工作代码 $('input[name='+ string[1] +']').css({'background':input_accept_icon}); 正如您所看到的,带有一些名称的输入得到了一些新的css 现在,我想将输入元素和选择元素放在同一行中 我正在尝试这个和其他的东西,但是现在不行 $('fieldset > :tags(input,select)[name='+ string[1]+']').css({'background':input_accept_icon})
$('input[name='+ string[1] +']').css({'background':input_accept_icon});
正如您所看到的,带有一些名称的输入得到了一些新的css
现在,我想将输入元素和选择元素放在同一行中
我正在尝试这个和其他的东西,但是现在不行
$('fieldset > :tags(input,select)[name='+ string[1]+']').css({'background':input_accept_icon});
两个元素都有相同的名称?然后你可以做:
$('input, select').filter('[name="'+ string[1]+'"]')
或者如果您坚持使用字段集
:
$('fieldset').children('input, select').filter('[name="'+ string[1]+'"]');
当然,您也可以构建一个很长的选择器,它非常不可读:
$('fieldset > input[name="'+ string[1]+'"], fieldset > select[name="'+ string[1]+'"]')
如果名称仅与输入相关:
$('input[name="'+ string[1]+'"], select')
:标记
不是内置的伪选择器afaik。两个元素的名称相同吗?然后你可以做:
$('input, select').filter('[name="'+ string[1]+'"]')
或者如果您坚持使用字段集
:
$('fieldset').children('input, select').filter('[name="'+ string[1]+'"]');
当然,您也可以构建一个很长的选择器,它非常不可读:
$('fieldset > input[name="'+ string[1]+'"], fieldset > select[name="'+ string[1]+'"]')
如果名称仅与输入相关:
$('input[name="'+ string[1]+'"], select')
:标记
不是内置的伪选择器afaik。根据您的标记,您可能需要使用选择器。它匹配
、
、
和
元素:
$(":input[name=" + string[1] + "]").css("background", input_accept_icon);
根据标记的不同,您可能希望使用选择器。它匹配
、
、
和
元素:
$(":input[name=" + string[1] + "]").css("background", input_accept_icon);
问题是他们中只有一个会有这个名字。我想写这两个,所以只有一个有这个名字的会改变。其他将是假的,并将保持不变。你能帮我写这样的代码吗?@David:是的,前三个就可以了。谢谢你的帮助,但是Frédérics的方法对我来说更简单:)只需在初始代码中添加“:”)问题是,只有一个会有这个名字。我想写这两个,所以只有一个有这个名字的会改变。其他将是假的,并将保持不变。你能帮我写这样的代码吗?@David:是的,前三个就可以了。谢谢你的帮助,但是Frédérics的方法对我来说更简单:)只需在初始代码中添加“:”)只有一件事Frederic,请在“背景”后面改“,”为“:”,因为这是个错误。使用“:”代码可以工作,而使用“,”则不行。@David,啊,那是因为我还删除了大括号:)我倾向于使用
css()
的两参数形式,并且在只设置一个样式属性时避免传递对象。哦,现在我明白了。顺便问一下,你能告诉我区别吗?你的风格看起来更好。要写的东西少了,但是我需要这些花括号做什么呢?如果你想在一次调用css()
,例如$(“选择器”).css({“颜色”:“红色”,“字体重量”:“粗体”}),传递一个对象很有用代码>。只有一件事Frederic,请在“背景”后将“,”改为“:”,因为这是一个错误。使用“:”代码可以工作,而使用“,”则不行。@David,啊,那是因为我还删除了大括号:)我倾向于使用css()
的两参数形式,并且在只设置一个样式属性时避免传递对象。哦,现在我明白了。顺便问一下,你能告诉我区别吗?你的风格看起来更好。要写的东西少了,但是我需要这些花括号做什么呢?如果你想在一次调用css()
,例如$(“选择器”).css({“颜色”:“红色”,“字体重量”:“粗体”}),传递一个对象很有用代码>。