- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 ajax 调用从服务器获取了一个 anchor 标记片段 html。如何“刷新”以便 jquery mobile 可以将必要的类附加到链接?
例如,jquery mobile 生成的链接有一个 ui-link:
<a class="ui-link" href="http://www.google.com">http://www.google.com</a>
如何确保在新生成的 anchor 标记上附加正确的样式?
最佳答案
如果您想刷新已初始化的小部件,则可以使用每种类型的小部件各自的功能来刷新:
$('.ui-btn').button('refresh');
注意,我使用 .ui-btn
类来选择按钮元素,该类在按钮初始化后添加,因此您可以确保刷新已初始化的按钮小部件。
文档:http://jquerymobile.com/demos/1.1.0-rc.1/docs/buttons/buttons-methods.html
如果您需要初始化尚未初始化的小部件,则只需省略 'refresh'
或使用 .trigger('create')
:
$('[data-role="button"], button, input[type="button"], input[type="submit"]').not('.ui-btn').button();//or .trigger('create');
请注意,我使用 .not('.ui-btn')
省略了已经初始化的小部件,因此这只会初始化未初始化的小部件。如果您尝试初始化已初始化的小部件,则会收到错误(如果您尝试刷新尚未初始化的小部件,也会出现错误)。
如果服务器正在输出您的 HTML,那么您可以在将小部件添加到 DOM 之前初始化它们:
$.ajax({
...
success : function (serverResponse) {
var $out = $(serverResponse);
//if there is a container with elements inside it, use `.find()`,
//if all the elements are siblings at the top level then use `.filter()`
$out.find('a').button();
$('body').append($out);
}
});
您还可以使用.buttonMarkup()
函数来更新按钮小部件:http://jquerymobile.com/demos/1.1.0-rc.1/docs/buttons/buttons-options.html
关于jquery - 如何在 jquery Mobile 中重新渲染动态生成的 anchor 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9726384/
我是一名优秀的程序员,十分优秀!