wordpress jquery 缺失:在属性 id 之后

Posted

技术标签:

【中文标题】wordpress jquery 缺失:在属性 id 之后【英文标题】:wordpress jquery missing : after property id 【发布时间】:2010-11-28 04:37:00 【问题描述】:

我正在尝试使用 jQuery 和 Wordpress 制作一个简单的手风琴菜单。

<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. ... ".

请帮忙。

【问题讨论】:

【参考方案1】:

尝试将冒号更改为逗号并去掉你的漩涡括号,如下所示:

$j(this).css('background-image', 'url(down.png)');
$j(this).siblings().css('background-image', 'url(left.png)');

【讨论】:

感谢您的快速回复,但它再次导致同样的错误。【参考方案2】:

出于好奇,尝试将$j = jQuery.noConflict(); 更改为j = jQuery.noConflict();

我之所以这么说,是因为您看到的错误通常是在编译时变量不可用时出现的。我想知道定义 $j 是否几乎否定了无冲突或其他东西。试试看吧。

【讨论】:

尝试j = jQuery.noConflict(); 并将 j 更改为一些随机变量名称 (jhkg) 以确保它不会与其他变量冲突但没有成功。但是当我尝试:$j(this).siblings().css( 'background-image' , 'url(left.png)'); 在 Firebug 的 javaScript 控制台中它是 SyntaxError: unterminated string literal 和简单的 $j 返回:ReferenceError: $j is not defined source=with(_FirebugCommandLine)$j\n; 看起来 $j 没有初始化或什么的。 在你执行了 j = jQuery.noConflict(); 之后,你就只能在其他地方使用 j。 (不要再使用 $j 了,因为你从来没有声明过它)【参考方案3】:

我把代码改成:

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)');
 );

);

它现在可以正常工作了。无论如何,谢谢你们,因为你们把我推向了正确的方向:)

【讨论】:

【参考方案4】:

这可能是语法错误。引用上面的代码行...

$j("#leftmenupane p.leftmenu_head").click(function(

看起来你没有在函数声明之后关闭括号。试试这个...

$j("#leftmenupane p.leftmenu_head").click(function()

【讨论】:

以上是关于wordpress jquery 缺失:在属性 id 之后的主要内容,如果未能解决你的问题,请参考以下文章

在 WordPress 中创建具有某些属性的短代码

wordpress 后台无法登录 网站内容缺失

javascript Divi | WordPress主题|移动菜单可折叠子菜单通过Toggles | CSS和jQuery调整在行动:https://i.gyazo.com/93557e9ef5d4

如何使用 jQuery 检索单击元素的属性? [复制]

centos/RHEL 7.6 使用yum安装php7.3(方便wordpress的php7.3需求,并解决了libphp7.so缺失问题)

jQuery 代码不起作用(属性不是函数)