我在jquery移动网站上有一个包含两个项目的导航栏:
<div data-role="content">
<div data-role="navbar">
<ul>
<li><a href="javascript:audioPause();" id="play-btn">Pause</a></li>
<li><a href="javascript:audioStop();" id="stop-btn">Stop</a></li>
</ul>
</div>
</div>
当我更改链接的文本时,$('#play-btn').text('Play');
的大小会发生变化,因此导航栏项高度只是文本的高度。因此,在更改了#play-btn的文本后,我最终得到了
+--------+--------+
| play | stop |
+--------| |
+--------+
我怎样才能绕过这个? (我想也许我需要告诉导航栏以某种方式再次绘制自己,但不知道如何。)
感谢。
答案 0 :(得分:2)
在jQuery Mobile初始化之后,查看按钮的结构。要更改要使用.ui-btn-text
类定位元素的文本:
$('#play-btn').find('.ui-btn-text').text('Play');
这将保留所有正确的格式。您当前的代码正在覆盖按钮的HTML结构。
以下是演示:http://jsfiddle.net/4NDcn/1/(注意我在不使用click
属性的情况下附加了href
个事件处理程序)
以下是jQuery Mobile 1.0按钮的结构:
<a id="play-btn" href="#" data-theme="c" class="ui-btn ui-btn-up-c ui-btn-active">
<span class="ui-btn-inner" aria-hidden="true">
<span class="ui-btn-text">Pause</span>
</span>
</a>
答案 1 :(得分:0)
我打算说些类似的话。为您的导航栏指定一个类,例如class =“navbar”,然后在CSS中指定导航栏的高度。
.navbar{
height:40px;display:block;
}
看看是否有帮助:)
答案 2 :(得分:0)
您可以更简洁地设置文字:
$('#play-btn .ui-btn-text').text('Play');