Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript 更新jquery时代码中出现问题_Javascript_Jquery - Fatal编程技术网

Javascript 更新jquery时代码中出现问题

Javascript 更新jquery时代码中出现问题,javascript,jquery,Javascript,Jquery,我有这个密码。 jQuery1.5.2运行良好,现在我更新到1.6,删除按钮不起作用 工作正常,但“删除”按钮不起作用 <script type="text/javascript"> $(document).ready(function() { $('#btnAdd').click(function() { var num = $('.clonedInput').length; var newNum =

我有这个密码。 jQuery1.5.2运行良好,现在我更新到1.6,删除按钮不起作用

工作正常,但“删除”按钮不起作用

<script type="text/javascript">
    $(document).ready(function() {
        $('#btnAdd').click(function() {
            var num     = $('.clonedInput').length;
            var newNum  = new Number(num + 1);

            var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);

            newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum);
            $('#input' + num).after(newElem);
            $('#btnDel').attr('disabled','');

            if (newNum == 5)
                $('#btnAdd').attr('disabled','disabled');
        });

        $('#btnDel').click(function() {
            var num = $('.clonedInput').length;

            $('#input' + num).remove();
            $('#btnAdd').attr('disabled','');

            if (num-1 == 1)
                $('#btnDel').attr('disabled','disabled');
        });

        $('#btnDel').attr('disabled','disabled');
    });
</script>

$(文档).ready(函数(){
$('#btnAdd')。单击(函数(){
var num=$('.clonedInput').length;
var newNum=新的数字(num+1);
var newElem=$('#input'+num).clone().attr('id','input'+newNum);
newElem.children(':first').attr('id','name'+newNum).attr('name','name'+newNum);
$('#input'+num).after(newElem);
$('btnDel').attr('disabled','');
如果(newNum==5)
$('btnAdd').attr('disabled','disabled');
});
$('#btnDel')。单击(函数(){
var num=$('.clonedInput').length;
$('#输入'+num).remove();
$('btnAdd').attr('disabled','');
如果(num-1==1)
$('btnDel').attr('disabled','disabled');
});
$('btnDel').attr('disabled','disabled');
});
有什么想法吗?

我认为在jquery 1.6中attr()函数已经改变了,在某些情况下应该使用prop()。在这方面,他们重新引入了一些相容性方面的变化。查找prop()规范

摘自jquery网站:

属性和属性之间的区别 属性在应用程序中可能很重要 具体情况。在jQuery之前 在1.6中,.attr()方法有时在 正在检索某些属性,其中 可能导致不一致的行为。作为 在jQuery1.6中,.prop()方法 提供一种显式检索的方法 属性值,而仅限.attr() 检索属性

我认为在jquery 1.6中attr()函数已经改变,在某些情况下应该使用prop()。在这方面,他们重新引入了一些相容性方面的变化。查找prop()规范

摘自jquery网站:

属性和属性之间的区别 属性在应用程序中可能很重要 具体情况。在jQuery之前 在1.6中,.attr()方法有时在 正在检索某些属性,其中 可能导致不一致的行为。作为 在jQuery1.6中,.prop()方法 提供一种显式检索的方法 属性值,而仅限.attr() 检索属性


关键是您必须正确使用
attr()
disabled
是一个布尔属性,要启用元素,必须将其删除,而不是将其设置为空字符串。见此:

prop()。您可以(而且应该!)继续使用
attr()
处理HTML元素属性,从jQuery 1.6开始,您还可以使用
prop()
处理DOM对象属性

以下内容在jQuery 1.6中非常有效:

// disable an element
$("input").attr("disabled", "disabled");
// enable an element
$("input").removeAttr("disabled");

关键是您必须正确使用
attr()
disabled
是一个布尔属性,要启用元素,必须将其删除,而不是将其设置为空字符串。见此:

prop()。您可以(而且应该!)继续使用
attr()
处理HTML元素属性,从jQuery 1.6开始,您还可以使用
prop()
处理DOM对象属性

以下内容在jQuery 1.6中非常有效:

// disable an element
$("input").attr("disabled", "disabled");
// enable an element
$("input").removeAttr("disabled");

你的意思是
$('.clonedInput:last')。remove()
你的意思是
$('.clonedInput:last')。remove()
这是那篇博文中提到的第一点。这是完全错误的。您不必使用
prop()
。听起来好像
attr()
会被弃用。@Tomalak你是对的,我稍微修改了我的答案,以免混淆!我不是说道具停止使用了,我只是说在1.6中,有一些情况下attr()不能像1.5.2中那样工作,这是博客文章中提到的第一点。这是完全错误的。您不必使用
prop()
。听起来好像
attr()
会被弃用。@Tomalak你是对的,我稍微修改了我的答案,以免混淆!我不是说道具停止使用了,我只是说在1.6中,有一些情况下attr()不能像在1.5.2中那样工作,我用$('#btnDel').removeAttr('disabled','disabled');不work@Fel我在哪里说的
removeAttr('disabled','disabled')
?还有,JSFIDLE对您有用吗?但是……”在大多数情况下,prop()执行attr()过去的操作。在代码中用prop()替换对attr()的调用通常会起作用。”-这里的相关问题:我使用$('#btnDel')。removeAttr('disabled','disabled');不work@Fel我在哪里说的
removeAttr('disabled','disabled')
?还有,JSFIDLE对您有用吗?但是……“在大多数情况下,prop()执行attr()过去的操作。在代码中用prop()替换对attr()的调用通常会起作用。”-相关问题如下: