对动态添加的div应用jquery效果

时间:2013-12-08 13:01:20

标签: javascript jquery

function myfunction(id){
//code 

$("#mydiv").hide();
};

但'mydiv'是动态添加的,而且该功能无效。

2 个答案:

答案 0 :(得分:0)

确保您在添加$("#mydiv").hide();后致电#mydiv 。如果您已添加#mydiv

,代码本身将完全正常工作

答案 1 :(得分:0)

由于您共享的部分代码似乎没问题,我怀疑您的代码还有其他问题。

尝试debug它。这并不难,让你自己找出错误要快得多,而不是真的很难看你的代码。

首先,如果能够了解您是否达到了相关的代码行,那么首先要知道。您可以打开开发人员控制台并在相关行中添加断点,也可以在代码中添加alert("this line is reached and executed"),然后您将知道是否已到达并执行该行。

如果你到达了相关的行,最好知道那里发生的事情:

例如,知道$("#mydiv")是否匹配任何东西都会很好。如果您害怕开发者控制台,可以尝试:alert($("#mydiv").length)。如果它为0,则没有任何匹配项,如果它是1,则在调用$("#mydiv").hide()时匹配将隐藏的元素。如果是0,则表示您无法匹配元素。这意味着您的DOM中目前没有ID为mydiv 的元素。如果它应该被添加到dinamically或者从一开始就应该在那里并不重要,它不存在。你可能在id中犯了拼写错误。

由于您匹配通过其id动态添加的内容,因此您可能已经拥有ID为mydiv的元素。如果有更多具有相同ID的元素,则只匹配第一个元素!具有相同ID的多个元素不仅仅是不好的做法,它也是无效的,并且可能会导致更多的错误和麻烦。

如果您确定匹配正确的元素并且在调用$("#mydiv").hide()时没有隐藏它,那么总是有办法查找问题:例如,如果您打开javascript开发人员控制台,则会出现javascript错误将在那里列出。如果它们与此问题有关,请务必检查它们。

快乐的虫子狩猎!