jquery radio $('input[checked="checked"]')非兼容模式下无法获取选中状态

jquery radio $('input[checked="checked"]')非兼容模式下无法获取选中状态,第1张

有两种情况:

1、你的allchecked 没有定义

2、你的html源码中不是所有radio元素属性checked的值都为checked,即

有的为:

<input type="radio" checked />

<input type="radio" checked=“true” />

有的是:

<input type="radio" checked=“checked” />

这时候肯定不能全部获取啦~

最保险的就这样写:

$('input[type="radio"]')prop("checked",true)each(function () {

                        allchecked += thisvaluetoString() + ",";

                    });

//jquery 中prop方法是用来判断逻辑值的,所以像这种判断有没有被选中等逻辑值的情况就用prop()就好啦~

有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。

jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。

那么,什么时候使用attr(),什么时候使用prop()?

1添加属性名称该属性就会生效应该使用prop();

2是有true,false两个属性使用prop();

3其他则使用attr();

以下是官方建议attr(),prop()的使用:

$("#btnAdd")click(function(){

    $("<span/>")appendTo("#addTagDiv")html($("#textAdd")val())addClass("spanTag")click(function(){

    //这里面的this就是当前这个span的dom元素

    //$(this)就是当前span的jquery对象,你可以对他们进行任何 *** 作

    //比如现在我就移除当前这个span

    $(this)remove();

})

});

//最后整个代码的意思就是一个ID为btnAdd的元素单击时则追加一个span元素到ID为addTagDiv的元素内,该span的html为一个ID叫textAdd元素的value属性值。然后单击任何一个新增的span元素将会把这个span移除掉

//代码没有测试,如有问题请继续追问

以上就是关于jquery radio $('input[checked="checked"]')非兼容模式下无法获取选中状态全部的内容,包括:jquery radio $('input[checked="checked"]')非兼容模式下无法获取选中状态、jQuery中attr和prop在修改checked属性时的区别、使用jQuery获取相同类名的元素集合等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9628955.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存