WordPress JQuery отсутствует: после идентификатора свойства - PullRequest
0 голосов
/ 14 сентября 2009

Я пытаюсь создать простое меню с помощью 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>

На самом деле это образец учебника. Но я не могу заставить его работать. Я чувствую какую-то глупую ошибку здесь, но я не могу ее найти. Все, что я получаю, это «отсутствует: после идентификатора свойства» в Firebug на строке «$ j (this) .css ({'background-image': 'url (down. ...".

Пожалуйста, помогите.

Ответы [ 4 ]

1 голос
/ 14 сентября 2009

попробуйте заменить двоеточие на запятую и избавиться от круглых скобок, например:

$j(this).css('background-image', 'url(down.png)');
$j(this).siblings().css('background-image', 'url(left.png)');
0 голосов
/ 27 апреля 2011

это, вероятно, синтаксическая ошибка. цитирование строки кода выше ...

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

похоже, что вы не закрываете скобки после объявления функции. попробуй это ...

$j("#leftmenupane p.leftmenu_head").click(function()
0 голосов
/ 15 сентября 2009

Я изменил код на:

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

});

и теперь он работает правильно. В любом случае, ребята, спасибо, что подтолкнули меня в правильном направлении:)

0 голосов
/ 14 сентября 2009

Просто из любопытства попробуйте изменить $j = jQuery.noConflict(); на j = jQuery.noConflict();

Я говорю это только потому, что ошибка, которую вы видите, обычно возникает, когда переменная недоступна во время компиляции. Мне интересно, если определение $ j почти сводит на нет конфликт или что-то в этом роде. Просто попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...