jquery如何使用变量代替选择器

q514232113 2017-01-22 11:25:02
$("a.choose").click(function() {
var v=$(this).text();//获得当前元素的值
var l=String($(this).attr('id'));获得当前元素的ID
alert(l);//这里的变量是正常的
$("input.("+l+")").attr('checked',true);//这里的选择器用变量代替不了,直接手工写选择器是正常的
});
...全文
368 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
q514232113 2017-01-26
  • 打赏
  • 举报
回复
搞定了,谢谢!!
天际的海浪 2017-01-22
  • 打赏
  • 举报
回复
引用 4 楼 q514232113 的回复:
但又出了个新问题,当全选后取消后,再点全选就无效了,但alert出来的值是正常的 $("a.choose").click(function() { var v=$(this).text();//获得当前元素的值 var l=String($(this).attr('id')); var o="input."+l;//这里先做个字符串拼接就OK了。 if(v=="全选") { $(o).attr('checked',true); $(this).text("取消"); }; if (v=="取消") { $(o).attr('checked',false); $(this).text("全选"); }; });

    if(v=="全选") {
        $(o).prop('checked',true);
        $(this).text("取消");
    } else {
        $(o).prop('checked',false);
        $(this).text("全选");
    }
当作看不见 2017-01-22
  • 打赏
  • 举报
回复
$(o).attr('checked',true);换成 $(o).prop('checked',true); 下面的同理 ,原因是jquery1.6以后 不再使用attr设置选择。具体看官方文档
q514232113 2017-01-22
  • 打赏
  • 举报
回复
但又出了个新问题,当全选后取消后,再点全选就无效了,但alert出来的值是正常的 $("a.choose").click(function() { var v=$(this).text();//获得当前元素的值 var l=String($(this).attr('id')); var o="input."+l;//这里先做个字符串拼接就OK了。 if(v=="全选") { $(o).attr('checked',true); $(this).text("取消"); }; if (v=="取消") { $(o).attr('checked',false); $(this).text("全选"); }; });
q514232113 2017-01-22
  • 打赏
  • 举报
回复
搞定了 $("a.choose").click(function() { var v=$(this).text();//获得当前元素的值 var l=String($(this).attr('id')); var o="input."+l;//这里先做个字符串拼接就OK了。 $(o).attr('checked',true); });
q514232113 2017-01-22
  • 打赏
  • 举报
回复
@qq_29594393 用CSS样式做选择器,因为要控制数量不等的radio,如果用ID的话,不好实现。 程序如下: js: $("a.choose").click(function() { var v=$(this).text();//获得当前元素的值 var l=String($(this).attr('id'));获得当前元素的ID alert(l);//这里的变量是正常的 $("input.("+l+")").attr('checked',true);//这里的选择器用变量代替不了,直接手工写选择器是正常的 }); <a class=choose id=b1>全选</a> <a class=choose id=b2>全选</a> ......... <input class=b1 id=ba1 type=radio> <input class=b1 id=ba2 type=radio> <input class=b2 id=ba3 type=radio> <input class=b2 id=ba4 type=radio> ........ 当点击<a>的id为b1时,控制<input class=b1 type=radio>的单选按钮 当点击<a>的id为b2时,控制<input class=b2 type=radio>的单选按钮 因为radio数量不定,是从数据库中读取的
当作看不见 2017-01-22
  • 打赏
  • 举报
回复
id不是使用#号嘛,怎么成了. 了

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧