• 全部
  • 问答

怎样给Jquery动态添加的标签添加或渲染Jquery方法

wang_cheng_job 2013-06-18 10:54:18
$(document).ready(function () {

GetParentFunObj('GetJSONData')({
url: '/funcs/autocamera/data.ashx?opt=get',
success: function (json) {
parent.PageLoading(false);
var vl = $("#SettingNameList");
var str = "<li><input type='radio' name='settingname' value='0' onclick='setNameId(this)'/><span>不选</span></li>";
for (var i = 0; i < json.length; i++) {
str = str + "<li><input type='radio' name='settingname' value='" + json[i].id + "' onclick='setNameId(this)'/><span>" + json[i].text + "</span></li>";
$(str).hover(function () {
$(this).addClass('colord5d5d5');
}, function () {
$(this).removeClass('colord5d5d5');
});
}
vl.html(str);
$.parser.parse();
}
});

问题是现在怎样给动态添加的li渲染或添加jquery方法


这是我写的方法但是没有渲染到li上面

$("#SettingNameList li").click(function () {
$("#SettingNameList").find("radio").attr("checked", false);
$(this).find("radio").attr("checked", true);
$("#txtAutoCameraName").val($(this).find("span").html());
});
...全文
1491 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
用live方法或者添加到DOM中再绑定一次事件,最好不用live,效率不高。
            GetParentFunObj('GetJSONData')({
                url: '/funcs/autocamera/data.ashx?opt=get',
                success: function (json) {
                    parent.PageLoading(false);
                    var vl = $("#SettingNameList");
                    var str = "<li><input type='radio' name='settingname' value='0' onclick='setNameId(this)'/><span>不选</span></li>";
                    for (var i = 0; i < json.length; i++) {
                        str = str + "<li><input type='radio' name='settingname' value='" + json[i].id + "' onclick='setNameId(this)'/><span>" + json[i].text + "</span></li>";
                        $(str).hover(function () {
                            $(this).addClass('colord5d5d5');
                        }, function () {
                            $(this).removeClass('colord5d5d5');
                        });
                    }
                    vl.html(str);
//////////////////////////////////
$("#SettingNameList li").click(function () {
                $("#SettingNameList").find("radio").attr("checked", false);
                $(this).find("radio").attr("checked", true);
                $("#txtAutoCameraName").val($(this).find("span").html());
            }); 


//////////////////////////////////
                    $.parser.parse();
                }
            });
回复
ZHOU西口 2013-06-18
只是给li加一个方法吗
回复
parent是直接父元素,不包含祖先元素,包含祖先元素用parents if (HideDelbtn.length > 1) $(this).parents(".line").remove();
回复
wang_cheng_job 2013-06-18
已经找到答案了谢谢2楼的 跟你说的一样的用live 但是在live里面红色区域的代买怎么不能执行!不能删除指定的标签 $("a[name=delEffectiveTime]").live("click", function () { debugger; var HideDelbtn = $(this).parent("td").find("a[name=delEffectiveTime]"); if (HideDelbtn.length == 2) $(this).parent("td").find("a[name=delEffectiveTime]").css({ display: "none" }); if (HideDelbtn.length > 1) $(this).parent(".line").remove(); });
回复
 $(str).hover(function () {
                            $(this).addClass('colord5d5d5');
                        }, function () {
                            $(this).removeClass('colord5d5d5');
                        });
                    }
                    vl.html(str);
改为
 
                    vl.html(str);

$(str).hover(function () {
                            $(this).addClass('colord5d5d5');
                        }, function () {
                            $(this).removeClass('colord5d5d5');
                        });
                    }
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2013-06-18 10:54
社区公告
暂无公告