更改 href 属性在 jQuery Mobile 中不起作用
我想使用 jQuery Mobile 更改 href
,我尝试了一些代码示例,例如:
$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/');
<li><a data-ajax="false" href="http://www.google.com" >Navigate</a></li>
和
$("#address").append("href", "http://cupcream.com");
<li><a data-ajax="false" id="address" href="http://www.google.com" >Navigate</a></li>
但没有任何反应。
可能出了什么问题,这不是 jQuery Mobile 中的一些错误吗?
I would like to change href
using jQuery Mobile, I tried a some code examples like:
$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/');
<li><a data-ajax="false" href="http://www.google.com" >Navigate</a></li>
and
$("#address").append("href", "http://cupcream.com");
<li><a data-ajax="false" id="address" href="http://www.google.com" >Navigate</a></li>
But nothing happens.
What can be wrong, aren't this some bug in jQuery Mobile?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要向“a”元素添加属性
rel="external"
或data-ajax="false"
,以便不通过以下方式管理链接阿贾克斯。官方文档此处。
还看
data-ajax=false 上的 JQuery 移动历史记录
You need to add to your "a" element the attribute
rel="external"
ordata-ajax="false"
, in order for the links to not be managed via Ajax.Official Documentation here.
Also look at
JQuery Mobile History on data-ajax=false
仅更改
href
属性对我来说不起作用。我必须更改文本和属性href
并且效果很好。在 Chrome、Firefox 和 IE10 上测试。这为我解决了这个问题。
Changing just
href
attibute did not work for me. I had to change both, text and the attributehref
and that worked just fine. Tested on Chrome, Firefox and IE10.This fixed the issue for me.
如果您没有
data-ajax="false"
那么链接将无法通过 jquery attr 函数更改。我看到您有它,但我会提及它以供将来搜索之用。完成后,您可以像这样更改链接:
$('a[href='http://www.google.com/']').attr ('href', 'http://www.live.com/');
我建议通过在测试用例上执行“hide()”来确保您的选择器按预期工作。
If you do not have the
data-ajax="false"
then the link will not be changeable via the jquery attr function. I see that you have it, but I'm mentioning it for future searches.Once you have that, you can change the link like so:
$('a[href='http://www.google.com/']').attr('href', 'http://www.live.com/');
I suggest ensuring that your selector is working as expected by doing a 'hide()' on a test case as well.
使用
.attr()
方法,而不是.append()
Use
.attr()
method, not.append()