2012-03-21 93 views
0

我试图在管理区域,以一个简单的小工具,我develpoing如添加简单的jQuery功能:在jQuery的WordPress管理

jQuery("$id").show()jQuery("$id").hide()

功能,但它们都没有工作。

谁能告诉我如何在WP管理区使用jQuery吗?

回答

0

尝试jQuery("#\\$id").show();jQuery("#\\$id").hide();

+0

为什么'#\\ $ id'? – m90 2012-03-21 07:30:52

+0

@ m90如果元素的'id'为用于转义特殊字符的'$ id',则使用两个反斜杠。请查看[如何通过在CSS符号中使用字符的ID选择元素?在jQuery常见问题] [1]:[1]:http://docs.jquery.com/Frequently_Asked_Questions#How%5Fdo%5FI%5Fselect%5Fan%5Felement%5Fby%5Fan%5FID%5Fthat%5Fhas%5Fcharacters%5Fused %5Fin%5FCSS%5Fnotation.3F – tusar 2012-03-21 09:00:44

+0

感谢您的帮助,但我似乎在我的问题中犯了一个错误,jQuery选择器应该是jQuery(“#id”)而不是jQuery(“id”),对不起为此 – user1282688 2012-03-21 14:33:19

0

有两个可能的问题在这里。首先可能是你以奇怪的方式选择了ID。通常你会在jQuery中通过ID选择一个元素,就像在CSS中使用# -prefix一样,例如:$('#id').show()$('#id').hide()。如果你知道这一点,并只是在$id存储一个CSS选择器,你已经很好。

第二件事,很多人苦恼的是,你的jQuery必须等待DOM准备好才能真正生效(如果它在DOM准备好之前被执行,所有选择都将为空)。为了得到这个工作,你通常包装你的代码在$(document).ready章24 -listener:

$(document).ready(function(){ 
$('#id').fadeIn('slow'); 
}); 

这样的处理函数内的所有代码将等待,直到它被执行前的DOM已准备就绪。

在一个侧面说明:如你所说show()hide()作为你的例子,你可能也有兴趣在toggle()http://api.jquery.com/toggle/

+0

在wordpress管理面板中,这不起作用,在前端工作正常,但不在管理面板。 – user1282688 2012-03-21 16:17:02

+0

问题是来自窗口小部件的每个元素都必须有一个类,而不是一个ID。似乎wordpress正在做某种魔术并阻止你的脚本做任何事情,而他们正在做的正确,因为在侧边栏上有两个相同的小部件呢?你会有相同的名称,这不是很好。 – TGeorge 2014-08-30 05:30:15

0

如果你有一个ID喜欢

<div id="myId"></div> 

一个元素,那么你可以选择你的div为

jQuery("#myId").show();