jQuery匹配多个属性
时间:2020-03-06 14:57:30 来源:igfitidea点击:
我有以下标记,我想选中"全部"单选按钮。
<ul> <li><input type="radio" value="All" name="Foo"/>All</li> <li><input type="radio" value="New" name="Foo"/>New</li> <li><input type="radio" value="Removed" name="Foo"/>Removed</li> <li><input type="radio" value="Updated" name="Foo"/>Updated</li> </ul>
我想通过属性进行匹配,但是我需要在两个属性上进行匹配,即@ name ='Foo'和@ value ='All'。
像这样的东西:
$("input[@name='Foo' @value='all']").attr('checked','checked');
有人可以证明如何做到这一点吗?
解决方案
以下HTML文件显示了如何执行此操作:
<html> <head> <script type="text/javascript" src="jquery-1.2.6.pack.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("a").click(function(event){ $("input[name='Foo'][value='All']").attr('checked','checked'); event.preventDefault(); }); }); </script> </head> <body> <ul> <li><input type="radio" value="All" name="Foo" />All</li> <li><input type="radio" value="New" name="Foo" />New</li> <li><input type="radio" value="Removed" name="Foo" />Removed</li> <li><input type="radio" value="Updated" name="Foo" />Updated</li> </ul> <a href="" >Click here</a> </body> </html>
当我们单击链接时,将选择所需的单选按钮。重要的一行是设置" checked"属性的那一行。
我在类似的墙上打了个头,只是想指出,在jQuery 1.3中,接受的答案中使用的语法是唯一可以使用的语法。发问者对表达式使用@语法,这在jQuery中根本不起作用。希望这可以帮助下一个通过Google = p遇到这个问题的人
要清楚,我们必须使用
jQuery('input[name=field1][val=checked]')
并不是
jQuery('input[@name=field1][@val=checked]')