我希望使用脚本动态设置每个标签的名称。我不知道这样做的确切方法可以帮助我吗?
这里是html代码:
<div data-theme="a" data-role="footer" data-position="fixed" data-tap-toggle="false">
<div class="myNavBar" data-role="navbar" data-iconpos="top" >
<ul>
<li >
<a href="#" id="home_icon" data-transition="pop" data-theme="a" data-icon="custom" class="ui-btn-active ui-state-persist" >
Home
</a>
</li>
<li >
<a href="favourites.html" id="fav_icon" data-transition="pop" data-theme="a" data-icon="custom" >
Favorites
</a>
</li>
<li>
<a href="Recents.html" id="recent_icon" data-transition="pop" data-theme="a" data-icon="custom" >
Offers
</a>
</li>
<li>
<a href="Settings.html" id="setting_icon" data-transition="pop" data-theme="a" data-icon="custom" >
Settings
</a>
</li>
</ul>
</div>
</div>
答案 0 :(得分:1)
试试这个。
var i=0,
navNames = ['home_icon', 'fav_icon', 'recent_icon', 'setting_icon'];
$('.myNavBar').find('li').each(function(){
$(this).children('a').attr('id', navNames[i])
i++;
});
尝试使用此方法将文本也放在导航栏上。
var i=0,
navNames = {
'Home': 'home_icon',
'Favorites':'fav_icon',
'Offers': 'recent_icon',
'Settings': 'setting_icon'
};
$.each(navNames, function(index, value){
$('.myNavBar').find('li:eq('+i+')')
.children('a').attr('id', value)
.end().children('a').text(index);
i++;
});
答案 1 :(得分:0)
试试这个
$('ul li:eq(0) a').text('Your Text') //It will change 1st li text,same way others by 1,2,3
答案 2 :(得分:0)
上述所有方法都是正确的,但在上面的解决方案中,标签图标隐藏,只显示更新后的文字。正确的方法是$($('.ui-btn-text')[0]).html('testing');
。它会将第一个标签Home
的名称更改为testing
。