为了账号安全,请及时绑定邮箱和手机立即绑定

JQuery批量操作DOM元素

JQuery批量操作DOM元素

田青国4016870 2016-09-29 14:41:07
<div id="dsize">    <div id="1">111</div>... 批量生成的div...<div id="N">454</div>   </div>var $dsize = $("#dsize");            for (var i = 0; i < $dsize.length; i++) {                $dsize.eq(i).click(function () {                    $dsize.eq(i).addClass("on");//为什么加不上样式                    //$dsize.eq(i).css("color", "red");//这样也加不上样式                })            }补充:这是完整的代码包括取值$(document).ready(function () {            var ID = $("#txtID").val();            var url = $.format("../../Controls/InfoHandler.ashx?param={0}", "getinfo");            $.getJSON(url, function (data, status) {                for (var i = 0; i < data.length; i++) {                    $("#dsize").append(                        "<div id="+data[i].InvID+">" + data[i].Size + "</div>"                        );                }            });            var $dsize = $("#dsize");            for (var i = 0; i < $dsize.length; i++) {                $dsize.eq(i).click(function () {                    $dsize.eq(i).addClass("on");                    //alert($dsize.eq(i).attr("class"));                    //$dsize.eq(i).css("color", "red");                })            }        });
查看完整描述

2 回答

已采纳
?
Caballarii

TA贡献1123条经验 获得超629个赞

var $dsize = $("#dsize");改成

var $dsize = $("#dsize").children();

查看完整回答
反对 回复 2016-09-29
  • 田青国4016870
    田青国4016870
    之前是这么写的也不行 var $dsize = $("#dsize").children("div"); $dsize.eq(0).addClass("on"); 但是在这两句设断点执行就可以
  • Caballarii
    Caballarii
    异步的问题,你是在$.getJson的回调函数里增加的子元素内容,所以会在你后面绑定click的代码之后执行
  • 田青国4016870
    田青国4016870
    那应该怎么写呢 新手求指教
点击展开后面5
?
qq_昼绽_0

TA贡献82条经验 获得超17个赞


$dsize.length什么意思,难道还有几个?

查看完整回答
反对 回复 2016-09-29
  • qq_昼绽_0
    qq_昼绽_0
    拿到子代的方法错了,应该用选择器拿。节点对象都是通过选择器拿的,先刷一遍课程吧
  • 田青国4016870
    田青国4016870
    这是原先的写法也是不行 $(document).ready(function () { var ID = $("#txtID").val(); var url = $.format("../../Controls/InfoHandler.ashx?param={0}", "getinfo"); $.getJSON(url, function (data, status) { for (var i = 0; i < data.length; i++) { $("#dsize").append( "<div id="+data[i].InvID+">" + data[i].Size + "</div>" ); } }); var $dsize = $("#dsize").children("div"); $dsize.eq(0).addClass("on"); });
  • 2 回答
  • 0 关注
  • 1687 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信