怎样给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());
});
...全文
1926 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用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();
                }
            });
一叶飞舟 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');
                        });
                    }

87,997

社区成员

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

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