我有一段相当复杂的代码(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元素的函数毫无意义。