Javascript 当页面加载了name属性但没有';不能使用Jquery属性
单击复选框时,下面的jquery代码将名称属性切换为按钮。添加“名称”属性后,单击该按钮将显示一个模式窗口 问题是:当jquery添加name属性时(我可以看到它是在Elements控制台中添加的),模态窗口代码不起作用。但是,当我加载已经包含name属性的页面时,它可以完美地工作,即,Javascript 当页面加载了name属性但没有';不能使用Jquery属性,javascript,jquery,html,jquery-ui,dom,Javascript,Jquery,Html,Jquery Ui,Dom,单击复选框时,下面的jquery代码将名称属性切换为按钮。添加“名称”属性后,单击该按钮将显示一个模式窗口 问题是:当jquery添加name属性时(我可以看到它是在Elements控制台中添加的),模态窗口代码不起作用。但是,当我加载已经包含name属性的页面时,它可以完美地工作,即,而不是 有什么我忘记的“DOM活动日程”吗 $("#tos-sub").change(function() { if(this.checked) {
而不是
有什么我忘记的“DOM活动日程”吗
$("#tos-sub").change(function() {
if(this.checked) {
$('#password-modal-show').attr('name', 'password-modal-show');
}
else {
$('#password-modal-show').attr('name', '');
}
});
$('button[name=password-modal-show]').click(function() {
$('#password-modal').modal('show');
});
<input type="checkbox" value="tos-sub" name="tos-sub" id="tos-sub" class="form-left required"/>
<label>
<span style="font-size: 80%; margin-right: .5em;">I agree to WifiTap's <a>Terms of Service</a></span>
</label>
<div style="margin-left: 15px;">
<button type="button" name="" id="password-modal-show" class="btn big-button" role="button">Get wifi!</button>
$(“#tos sub”).更改(函数(){
如果(选中此项){
$(“#密码模式显示”).attr('名称','密码模式显示');
}
否则{
$('#密码模式显示').attr('name','');
}
});
$(“按钮[名称=密码模式显示])。单击(函数(){
$(“#密码模式”).model('show');
});
我同意WifiTap';服务条款
获取wifi!
未建立事件处理程序,因为在设置时,没有具有此名称属性的按钮。
您必须使用委托事件或在复选框更改时设置单击功能。
以下是通过使用委派事件修复的棘手问题:
哦,我知道你在那里做了什么!我有一种感觉,这是因为页面加载时没有带有name属性的按钮,但我不知道如何修复它。非常感谢你的帮助,奥斯卡!
$(document).click(function(e) {
if(e.target.getAttribute('name')=='password-modal-show') alert('modal');
});