我在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  |
+--------|        |
         +--------+

我怎么能绕过这个? (我想也许我需要告诉导航栏以某种方式再次绘制自己,但不知道如何。)

谢谢。

===============>>#1 票数:2 已采纳

在jQuery Mobile初始化之后,看一下按钮的结构。 要更改要使用.ui-btn-text类定位元素.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>

===============>>#2 票数:0

我打算说些类似的话。 为您的导航栏指定一个类,例如class =“navbar”,然后在CSS中指定导航栏的高度。

.navbar{
        height:40px;display:block;
       }

看看是否有帮助:)

===============>>#3 票数:0

您可以更简洁地设置文本:

$('#play-btn .ui-btn-text').text('Play');

  ask by jaybee translate from so

未解决问题?本站智能推荐:

关注微信公众号