我想存储活动菜单项的innerHTML,以将其显示为页面标题。在“容器”模板中,标题HTML为{{pageTitle}}。

这是我的(清理过的)HTML

<template name="container">
   {{pageTitle}
   {{ > SideMenu}}
</template>

<template name="SideMenu">
    <ul id="menu-items" class="nav nav-stacked nav-pills">
        <li id="menu-item-simple" class="">
            <a href="#">
                menuItem1
            </a>
        </li>
        <li id="menu-item-simple" class="">
            <a href="#">
                menuItem2
            </a>
        </li>
    </ul>
</template>


我创建了一个帮助程序来返回字符串

Template.container.helpers({
"pageTitle":function(){
    return Session.get("pageTitle");
}
});


单击菜单项时将字符串设置为其正确值的事件

Template.SideMenu.events({
    "click #menu-items":function(e,t){
        var activeItem = $(this).find("li.active")
        Session.set ("pageTitle",activeItem.children("a").innerHTML);
        console.log (activeItem.children("a").innerHTML);
    }
});


控制台返回“未定义”。我没有弄错我做错的事情,而且由于我才刚刚开始,所以我也想知道我是否走对了。

最佳答案

你有没有尝试过 ?

Session.set ("pageTitle",activeItem.children("a").text());


jquery text()

07-24 14:20