gpt4 book ai didi

使用基本 id 选择器时的 Jquery Mobile 哈希问题

转载 作者:行者123 更新时间:2023-12-01 01:10:26 26 4
gpt4 key购买 nike

示例:

http://test.com/test.php

类似:

<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" />
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js"></script>
</head>
<body>
<div data-role="page" class="type-interior" id="home">
<div data-role="wrapper" class="type-home">
<div data-role="header" data-position="inline" id="header">
</div>
<div data-role="content" class="content">
<div id="show" style="display:none">Hi!!</div>
<a onClick="$('#show').show();">Show!</a><br />
<a href="test.php?a=<?=rand()?>">Next page</a>
</div>
</div>
</div>
</body>
</html>

当您点击“显示!”时但是,当您单击“下一页”然后单击“显示!”时,它工作正常。它不再起作用了。这似乎是由于单击链接后网址中的 # 造成的。

这可以通过输入来解决:

$('ul[id=show]').show();

$('ul#show').show();

然而,我真的很想知道为什么会发生这种情况。

在 firebug 中,也有区别;

http://o7.no/oYbOPK

顶部的不起作用,在 uri 中带有 # 的页面上不显示任何内容,而底部的则在该页面上起作用。

这就是没有#,只有 test.php 时的样子;

http://o7.no/pvCyP7

合并; http://o7.no/qo6L65

仅当 id 选择器请求时,div 才会显示为灰色;这是为什么?

感谢您的帮助;我每次都会遇到这个问题,我真的很好奇为什么会发生这种情况。

最佳答案

在 Ajax 调用之后,如果您查看 Firebug,您将看到您的页面在 DOM 中出现了两次,因此,有两个 <div data-role="page" id="home">和两个id="show"还有。

因此,当您触发 $("#show").something() 时,始终是具有此 id 的 FIRST 元素被触发。不要忘记 xhtml 页面上的 ID 必须是唯一的

当您使用类似 ul[id=show] 的语法时, ul#show ,jquery将触发所有对象,而不仅仅是第一个。这就是它有效的原因。

一个可能的解决方法是使用页面作为命名空间

<div data-role="page" class="type-interior" id="home"> 
<div data-role="wrapper" class="type-home">
<div data-role="header" data-position="inline" id="header"></div>
<div data-role="content" class="content">
<div class="show" style="display:none">Hi!!</div>
<a class="link" href="#">Show!</a><br />
<a href="test3.htm?id=3">Next page</a>
</div>
</div>
</div>

<script type="text/javascript">
$('#home').live('pagecreate',function(event){
$(".link", this).live('click', function(page) {
$(this).closest('div[data-role=page]').find(".show").show();
});
});
</script>

但这不是最好的解决方案。如果您的页面不同,给它们不同的 id 或使用并找到好的祖先!

关于使用基本 id 选择器时的 Jquery Mobile 哈希问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com