Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 removeAttribute()不工作_Jquery_Html_Custom Data Attribute - Fatal编程技术网

jQuery removeAttribute()不工作

jQuery removeAttribute()不工作,jquery,html,custom-data-attribute,Jquery,Html,Custom Data Attribute,我一直在拼命寻找这个问题的答案,但什么也没找到。 我目前正在改进我正在创建的网站上的代码,从、、自定义“”属性切换到HTML5数据yyy属性。现在我的问题来了 $("#test ul li").click(function(event){ $(this).toggleClass("selected"); if($(this).hasClass("selected")){ if(jQuery.trim($("#input_value").v

我一直在拼命寻找这个问题的答案,但什么也没找到。 我目前正在改进我正在创建的网站上的代码,从、、自定义“”属性切换到HTML5数据yyy属性。现在我的问题来了

 $("#test ul li").click(function(event){
        $(this).toggleClass("selected");
        if($(this).hasClass("selected")){
            if(jQuery.trim($("#input_value").val())){
                $(this).data("special",{"value":jQuery.trim($("#input_value").val())});
            }
        }
        else{
            $(this).removeAttr("data-special");
        }
    });
单击某个li元素时将触发以下代码。一个类被切换,在切换之后(这是一个单词吗?),脚本检查这个元素是否有被切换的类。如果它没有类(这就是问题所在),脚本应该删除属性“data special”,删除数据。这根本不会发生

如果添加

 $("#test ul li").removeAttr("data-special");

在功能之外,一切正常,工作正常。有什么想法吗?

您已经将
数据特殊值导入了
.data()
,所以请使用

将属性值导入
.data()
后,需要在那里使用它。删除属性不会删除
.data()


如果需要同时删除它们,则需要同时调用这两个方法,或者根本不使用
.data()

您已经将
数据特殊值导入
.data()
中,因此请使用

将属性值导入
.data()
后,需要在那里使用它。删除属性不会删除
.data()


如果需要同时删除它们,则需要同时调用这两个方法,或者根本不使用
.data()

这不是一个属性

$(this.data(“special”,{“value”:jQuery.trim($(“#input_value”).val())})


您正在将其存储在jquery缓存中。因此,如果您想删除它,您必须按照另一张海报上的指示操作,并使用removeData功能删除它

这不是一个属性

$(this.data(“special”,{“value”:jQuery.trim($(“#input_value”).val())})


您正在将其存储在jquery缓存中。因此,如果您想删除它,您必须按照另一张海报上的指示操作,并使用removeData功能删除它

谢谢大家!!有趣的是,这就是我开始做的,我的代码中一定有一个bug,因为它似乎不起作用,当它不起作用时,我在谷歌上搜索答案并发现了这个问题:我理解(或误解)这是将数据yyy视为删除时的一个属性。还有一件事,、或者干脆不在第一个位置使用.data()。我是否应该不使用.data()?你不喜欢吗?@BenediktÓmarsson:不客气。关于使用
.data()
,如果您需要存储复杂的数据,它会很有用。例如,您似乎正在存储一个对象
{value:“特殊值”}
如果您实际上需要添加和删除属性的对象,那么
.data()
可能会很有用。但是,如果您所做的只是读取一个
数据-
属性的值,那么我可能只会使用
.attr()
,因为它更快一点,并且不会向
jQuery.cache
添加任何额外内容。我理解。我正在编写的、、应用程序有点复杂(至少对我来说,这是一个新业务)。我使用user.attr()和自定义属性,比如somevalue。但是,当使用w3c工具验证我的代码时,它总是抱怨这些属性,因为它们不存在“”。在那之后,我得到的印象是,添加自定义属性虽然可能,但却是一种肮脏的交易。这不是真的吗?提前感谢您的帮助和评论。谢谢!有趣的是,这就是我开始做的,我的代码中一定有一个bug,因为它似乎不起作用,当它不起作用时,我在谷歌上搜索答案并发现了这个问题:我理解(或误解)这是将数据yyy视为删除时的一个属性。还有一件事,、或者干脆不在第一个位置使用.data()。我是否应该不使用.data()?你不喜欢吗?@BenediktÓmarsson:不客气。关于使用
.data()
,如果您需要存储复杂的数据,它会很有用。例如,您似乎正在存储一个对象
{value:“特殊值”}
如果您实际上需要添加和删除属性的对象,那么
.data()
可能会很有用。但是,如果您所做的只是读取一个
数据-
属性的值,那么我可能只会使用
.attr()
,因为它更快一点,并且不会向
jQuery.cache
添加任何额外内容。我理解。我正在编写的、、应用程序有点复杂(至少对我来说,这是一个新业务)。我使用user.attr()和自定义属性,比如somevalue。但是,当使用w3c工具验证我的代码时,它总是抱怨这些属性,因为它们不存在“”。在那之后,我得到的印象是,添加自定义属性虽然可能,但却是一种肮脏的交易。这不是真的吗?提前感谢您的帮助和意见。
$(this).removeData("special");