我有一段相当复杂的代码(JQuery和HTML5 Web SQL),它从数据库中删除信息。但是,尽管数据库删除工作正常,但我想同时使信息从视图中消失(直到页面刷新并再次查询数据库时,信息才会消失)。

我很确定这只是正确选择选择器的问题

目前我有

$('.remove_event').live('click', function() {
    //TRIGGERS SQL REMOVE
    mbffdb.webdb.deleteevent($(this).attr('id')),
    //MAKES INFO DISSAPPEAR
    $(this).attr('id').addClass('displaynone');
});//END CLICK


该信息包含在已分配动态ID的div中
$(this).attr('id')(在SQL语句中使用ID删除)。

如果有人可以帮助我,那真是太棒了!

最佳答案

问题是,您将一个类...添加到字符串中。
跟着我:

$(this)


是一个元素

$(this).attr("id")


是其属性“ id”的值,即字符串,因此您无法向其添加类。

顺便说一句,您要添加一个id还是一个类?还不清楚。如果要添加ID,请使用.attr("id","mynewid")。如果要添加类,请使用$(this).addClass("class")



编辑:您可能已经被JQuery的可链接性误导了,即在JQUery元素或元素集上运行的许多函数会返回另一个元素或元素集。

例如:

$("div.mydiv").parent().next().find("p").removeClass("otherclass");
              ^        ^      ^         ^


在每个调用(^)中,这些函数都返回其他元素,因此您可以附加另一个函数以对这些元素进行操作,产生更多的元素,依此类推。
但这对于某些功能来说并非如此:

.val() .text() .html()


返回“纯”值而不是元素的值,因此在它们之后使用像addClass()这样仍可操作con元素的函数毫无意义。

09-04 22:17
查看更多