Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.click()和.on(';click';)不工作_Jquery - Fatal编程技术网

jQuery.click()和.on(';click';)不工作

jQuery.click()和.on(';click';)不工作,jquery,Jquery,我对JavaScript相当陌生,我一直在尝试编辑它来为我工作。到目前为止,我已经成功地在每个表单的顶部获得了正确的表单编号,但是在删除表单字段集后,我无法获得要修复的表单编号。以下是迄今为止的代码: HTML: 一些文本 评级 杰出的 好 好啊 贫穷的 坏的 简短回顾 包括在资源管理器中测试它们的单选按钮: 测试1 测试2 JavaScript: var counter = 0; function moreFields() { counter+=1; var new

我对JavaScript相当陌生,我一直在尝试编辑它来为我工作。到目前为止,我已经成功地在每个表单的顶部获得了正确的表单编号,但是在删除表单字段集后,我无法获得要修复的表单编号。以下是迄今为止的代码: HTML:



一些文本

评级 杰出的 好 好啊 贫穷的 坏的

简短回顾
包括在资源管理器中测试它们的单选按钮:
测试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() {
    ...
});