当我尝试获取id时,未定义变量

时间:2014-03-02 15:51:59

标签: javascript jquery html variables attr

这是我的代码:(我正在使用基于MVC的CMS)。

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>

JS:

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未定义

有什么想法吗?非常感谢你

1 个答案:

答案 0 :(得分:1)

titleId$titleId不是一回事,dollarign只是变量名称中的另一个字符。

怎么样

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

你的变量很多,确保他们要么有钱,要么没有。