переменная не определена, когда я пытаюсь получить идентификатор

0

это мой код: (Im использует CMS, основанную на MVC).

HTML:

 <div class="item_group_title">
  <a id="title_{$group.title}" data-tip="{lang("show", "store")}" class="hide_group"  href="javascript:void(0)" onClick="Store.toggleGroup(this)">
   <img src="{$url}application/images/icons/{$group.title}.png">
  </a>
 </div>

...

 <section class="item_group" id="group_{$group.title}" {if $minimize}style="display:none"{/if}>
 </section>

ЯШ:

toggleGroup: function(field)
{
    var titleId = $(field).attr('id');
    var groupId = $titleId.text().replace('title_', 'group_');
    var group = $($groupId);

    if(group.is(":visible"))
        {
        $(field).attr('data-tip', lang("hide", "store"));
    }
    else
    {
        $(field).attr('data-tip', lang("show", "store"));
    }

    group.css("display","visible");
},

То, что я пытаюсь получить, это: Когда я нажимаю на ссылку, раздел ниже должен быть видимым. Там будут некоторые ссылки и некоторые разделы, и каждая ссылка будет влиять на один раздел.

Моя проблема в том, что я получаю эту ошибку: $ titleId не определен

Есть идеи? огромное спасибо

Теги:
variables
attr

1 ответ

1

titleId и $titleId - это не одно и то же, долларовый знак - это просто другой символ, который является частью имени переменной.

Как насчет

var $titleId = $(field).attr('id');
var $groupId = $titleId.text().replace('title_', 'group_');
var group    = $($groupId);

То же самое с большим количеством ваших переменных, убедитесь, что у них либо есть доллар, либо нет.

  • 0
    Он по-прежнему отправляет ошибку, но на этот раз: $ titleId.text не является функцией, может быть, синтаксис неправильный?
  • 0
    @ user3371028 - Нет, $titleId теперь является идентификатором, возвращаемым в строке выше, который будет просто строкой, а строка не имеет метода text() , так что это звучит правильно.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню