JQuery - 按属性选择?
这在 Opera 中有效,但显然在其他方面不起作用。
HTML
<input type="checkbox" name="iphone" value="checked" checked="checked" />
<input type="checkbox" name="photocart" value="checked" checked="checked" />
JS
$("input[name=iphone]").attr('checked', 'checked');
$("input[name=photocart]").attr('checked', 'checked');
$("input[name=iphone]").attr('disabled', 'disabled');
$("input[name=photocart]").attr('disabled', 'disabled');
我也尝试过以下方法,但无济于事。
$("input[name|=iphone]").attr('checked', 'checked');
$("input[name|=photocart]").attr('checked', 'checked');
$("input[name|=iphone]").attr('disabled', 'disabled');
$("input[name|=photocart]").attr('disabled', 'disabled');
$("[name=iphone]").attr('checked', 'checked');
$("[name=photocart]").attr('checked', 'checked');
$("[name=iphone]").attr('disabled', 'disabled');
$("[name=photocart]").attr('disabled', 'disabled');
$("[name|=iphone]").attr('checked', 'checked');
$("[name|=photocart]").attr('checked', 'checked');
$("[name|=iphone]").attr('disabled', 'disabled');
$("[name|=photocart]").attr('disabled', 'disabled');
他们中的任何一个人都没有快乐。关于如何让这件事进行下去有什么想法吗?
编辑:- Epic 复制 HTML 失败,抱歉!
This works in Opera but apparently nothing else.
HTML
<input type="checkbox" name="iphone" value="checked" checked="checked" />
<input type="checkbox" name="photocart" value="checked" checked="checked" />
JS
$("input[name=iphone]").attr('checked', 'checked');
$("input[name=photocart]").attr('checked', 'checked');
$("input[name=iphone]").attr('disabled', 'disabled');
$("input[name=photocart]").attr('disabled', 'disabled');
I have also tried the following to no avail.
$("input[name|=iphone]").attr('checked', 'checked');
$("input[name|=photocart]").attr('checked', 'checked');
$("input[name|=iphone]").attr('disabled', 'disabled');
$("input[name|=photocart]").attr('disabled', 'disabled');
$("[name=iphone]").attr('checked', 'checked');
$("[name=photocart]").attr('checked', 'checked');
$("[name=iphone]").attr('disabled', 'disabled');
$("[name=photocart]").attr('disabled', 'disabled');
$("[name|=iphone]").attr('checked', 'checked');
$("[name|=photocart]").attr('checked', 'checked');
$("[name|=iphone]").attr('disabled', 'disabled');
$("[name|=photocart]").attr('disabled', 'disabled');
No joy on any of them. Any ideas on how I can get this going?
EDIT :- Epic failed on the copying of the HTML SORRY!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以这样指定它:
有关详细信息,请参阅 Jquery 多选择器页面。
You can specify it like this:
See the Jquery multiple selector page for more info.
属性选择器
[name=val]< /code> 匹配具有属性 name 且其值恰好为
”开头“val
的所有元素。与此相反,[name|=val]
匹配具有属性 name 的所有元素,该属性的值要么恰好是“val
”,要么以“valval
”后紧跟“-
”。后者更适合与语言代码一起使用(例如,[lang|=en]
与lang="en-US"
匹配)。因此,请使用前一个选择器来进行精确匹配。The attribute selector
[name=val]
matches all elements that have an attribute name that’s value is exactlyval
. In opposite to that,[name|=val]
matches all elements that have an attribute name that’s value either being exactly "val
" or beginning with "val
" immediately followed by "-
". The latter is rather intended to be used with a language codes (e.g.[lang|=en]
matcheslang="en-US"
). So use the former selector for an exact match.首先,您有两个名为“hosting”的元素,但您没有使用“input[name=hosting]”。您的 HTML:
JS(应该) :
请记住,如果您有多个名为“iphone”或“photocart”的元素,jQuery 也会更改它们的属性。
使用
true
或false
代替属性值的“checked”或“disabled”。请记住,您正在操作 DOM,因此它与不同。
First off, you have two elements named "hosting", but you aren't using "input[name=hosting]".Your HTML:
JS (that should work):
Keep in mind that if you have more than one element with name "iphone" or "photocart" that jQuery will change their attributes as well.
Use
true
orfalse
instead of 'checked' or 'disabled' for the attribute values. Remember, you're manipulating the DOM, so it's different than having<input type="checkbox" disabled="disabled" />
.请注意,您也可以进行基本操作,如下所示:
另一个很酷的技巧,将值设置为当前不是的值,其作用类似于toogle:
编辑:将所有选中的框设置为未选中的示例:
注意如果您给它们一个名为“mycheckbox”的类更简单:
如果它被选中,则取消选中它:
如果我有一个复选框列表和一个“标题”复选框来取消选中它们或根据“组标题”复选框来选中它们,我会使用此技术值及其点击和/或更改事件。
Note that you can also go basic and do these like this:
Another cool trick, set the value to what it is NOT at present which acts like a toogle:
EDIT: example to set all checked boxes to unchecked:
NOTE IF you give them a class called "mycheckbox" even simpler:
AND IF it is checked, uncheck it:
I use this technique if I have a list of checkboxes and a "header" checkbox to uncheck them all or check them all depending upon the "group header" checkbox value and it's click and/or change event.