jQuery.click()和.on(';click';)不工作
我对JavaScript相当陌生,我一直在尝试编辑它来为我工作。到目前为止,我已经成功地在每个表单的顶部获得了正确的表单编号,但是在删除表单字段集后,我无法获得要修复的表单编号。以下是迄今为止的代码: HTML:jQuery.click()和.on(';click';)不工作,jquery,Jquery,我对JavaScript相当陌生,我一直在尝试编辑它来为我工作。到目前为止,我已经成功地在每个表单的顶部获得了正确的表单编号,但是在删除表单字段集后,我无法获得要修复的表单编号。以下是迄今为止的代码: HTML: 一些文本 评级 杰出的 好 好啊 贫穷的 坏的 简短回顾 包括在资源管理器中测试它们的单选按钮: 测试1 测试2 JavaScript: var counter = 0; function moreFields() { counter+=1; var new
一些文本
评级
杰出的
好
好啊
贫穷的
坏的
简短回顾
包括在资源管理器中测试它们的单选按钮:
测试1
测试2
JavaScript:
var counter = 0;
function moreFields() {
counter+=1;
var newFields = document.getElementById('readroot').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
var n = $("[class^='sometext'").length;
for (var i=0;i<newField.length;i+=1) {
var theName = newField[i].name
if (theName){
newField[i].name = theName + counter;
}
if (newField[i].className == 'sometext'){
$(newField[i]).append(document.createTextNode(n));
}
}
var insertHere = document.getElementById('writeroot');
insertHere.parentNode.insertBefore(newFields,insertHere);
}
window.onload = moreFields;
$(document).ready(function(){
$('#moreFields').click(function(){
moreFields();
});
$('#readroot').on('click','.delete',function(){
this.parentNode.parentNode.removeChild(this.parentNode);
var countClass = 0;
$('.sometext').each(function(){
countClass += 1;
this.innerHTML = "Some text " + countClass;
});
});
});
var计数器=0;
函数moreFields(){
计数器+=1;
var newFields=document.getElementById('readroot').cloneNode(true);
newFields.id='';
newFields.style.display='block';
var newField=newFields.childNodes;
var n=$(“[class^='sometext'))。长度;
对于(var i=0;i调用.on()
on的元素必须在调用时存在。在您的情况下,动态添加的#readroot
克隆在调用.on()
时不存在。对绑定时存在的东西调用.on()
,比如说,文档
演示:
代码:
错误:语法错误,无法识别的表达式:[class^='sometext'
在“给我更多字段”按钮上单击
var counter = 0;
function moreFields() {
counter+=1;
var newFields = document.getElementById('readroot').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
var n = $("[class^='sometext'").length;
for (var i=0;i<newField.length;i+=1) {
var theName = newField[i].name
if (theName){
newField[i].name = theName + counter;
}
if (newField[i].className == 'sometext'){
$(newField[i]).append(document.createTextNode(n));
}
}
var insertHere = document.getElementById('writeroot');
insertHere.parentNode.insertBefore(newFields,insertHere);
}
window.onload = moreFields;
$(document).ready(function(){
$('#moreFields').click(function(){
moreFields();
});
$('#readroot').on('click','.delete',function(){
this.parentNode.parentNode.removeChild(this.parentNode);
var countClass = 0;
$('.sometext').each(function(){
countClass += 1;
this.innerHTML = "Some text " + countClass;
});
});
});
$(document).on('click', '.delete', function() {
...
});