我正在尝试使用jQuery与Wordpress一起创建一个简单的accorion菜单。
<script type="text/javascript" language="javascript">
var $j = jQuery.noConflict();
$j("#leftmenupane p.leftmenu_head").click(function(
{
$j(this).css({'background-image' : 'url(down.png)'}).next("div.leftmenu_body").slideToggle(300).siblings("div.leftmenu_body").slideUp("slow");
$j(this).siblings().css({'background-image' : 'url(left.png)'});
});
</script>
<div id="leftmenupane" class="leftmenu_list">
<p class="leftmenu_head">Header-1</p>
<div class="leftmenu_body">
<a href="#">Link-1</a>
<a href="#">Link-2</a>
<a href="#">Link-3</a>
<a href="#">Link-4</a>
</div>
<p class="leftmenu_head">Header-2</p>
<div class="leftmenu_body">
<a href="#">Link-1</a>
<a href="#">Link-2</a>
<a href="#">Link-3</a>
</div>
<p class="leftmenu_head">Header-3</p>
<div class="leftmenu_body">
<a href="#">Link-1</a>
</div>
</div>
它实际上是一些教程的示例表单。但我无法让它发挥作用。我在这里感觉到一些愚蠢的错误,但我无法找到它。所有我得到的是“$ j(this).css({'background-image':'url(down ....)。
在Firebug中的”遗失:属性ID后“错误请帮忙。
答案 0 :(得分:1)
尝试将冒号更改为逗号&amp;摆脱你的旋涡支架,如下:
$j(this).css('background-image', 'url(down.png)');
$j(this).siblings().css('background-image', 'url(left.png)');
答案 1 :(得分:0)
出于好奇,请尝试将$j = jQuery.noConflict();
更改为j = jQuery.noConflict();
我只是这样说,因为当编译时变量不可用时,通常会出现错误。我想知道定义$ j几乎否定了没有冲突或其他什么。试试吧。
答案 2 :(得分:0)
我将代码更改为:
var $j = jQuery.noConflict();
$j(function() {
$j("#leftmenupane p.leftmenu_head").click(function()
{
$j(this).css('background-image' , 'url(down.png)').next("div.leftmenu_body").slideToggle(300).siblings("div.leftmenu_body").slideUp("slow");
$j(this).siblings().css( 'background-image' , 'url(left.png)');
});
});
现在它正常工作。无论如何,谢谢你们,因为你把我推向了正确的方向:)
答案 3 :(得分:0)
这可能是语法错误。引用上面的代码行......
$j("#leftmenupane p.leftmenu_head").click(function(
看起来你没有在函数声明后关闭括号。试试这个......
$j("#leftmenupane p.leftmenu_head").click(function()