JavaScript锚点-访问另一个HTML页面上的id
JavaScript anchor- access to id on another HTML page
我有两个html页面,当你点击第一个html上的某个东西时,它会转到第二个。我想做的是根据你点击的第一个html来显示文本。不同的文本用不同的id包装。我是这样写的:
<a href="secondpage.html#one"></a>
<a href="secondpage.html#two"></a>
<a href="secondpage.html#three"></a>
我希望看到two.html加载id为"one"的文本,但它不起作用,有人知道我做错了什么吗?
这是第二页的代码:
<ul id="menu" class="aaa">
<li><a id="one" href="#">one</a></li>
<li><a id="two" href="#">two</a></li>
<li><a id="three" href="#">three</a></li>
</ul>
我有一个JS文件来修改每个id:
$("one").observe('click', function() {
$('Pic').writeAttribute('src',"picone.jpg");
$('Bio').update("texthere!");
});
二人和三人也是如此。
现在,如果我点击第一页上的按钮,它将始终显示"一"的文本和图片,无论我点击哪个按钮。
但如果我点击它,我想看到"两个"的图片和文本。
您想要做的是在页面加载时模拟点击锚点。由于您使用的是jQuery,因此最简单的方法(但形式最好)如下:
$(window).oserve('domready',function(){$(location.hash).click();});
将ondomready事件附加到窗口。获取id=1的元素(使用jQuery,这将是"#one",与您的位置相同。在这种情况下,hash将非常方便),触发点击。
您可能需要替换$(location.hash).click();使用$(location.hash).get(0).click(),因为jQuery倾向于返回jQuery对象的数组。
但在您的情况下,一个更好的解决方案是拥有一个可以手动触发的事件处理程序,从而避免触发事件的需要,也可以放下锚点并直接在li上单击onclick。
此外,当您似乎只想动态显示/隐藏内容时,为什么要加载第二个页面?在同一页上做。。。
#blastuffbla不是ID,而是位置散列。您可以使用访问它
self.document.location.hash
它将返回#hash,如果你只想使用哈希:
self.document.location.hash.substring(1)
希望这能帮助
标签没有id,但有名称来处理Url中的锚,不过您仍然需要id来在JS中管理它们。所以你的清单应该是:
<ul id="menu" class="aaa">
<li><a id="one" name="one" href="#">one</a></li>
<li><a id="two" name="two" href="#">two</a></li>
<li><a id="three" name="three" href="#">three</a></li></ul>
不过,您的javascript似乎是正确的。
当你说"不同的id"时,你是如何在第二页设置锚的?第二页上的锚应该是这样的:
<a name='one'></a>
把这个放在你想在第二页上标记的文本的正上方。
是否要将页面滚动到id"one"的位置?也许页面的内容太小,你无法滚动到那里。我的意思是,有时浏览器无法将标记有id的元素移动到画布的顶部,看起来它没有滚动到那里。尝试在元素后面包含足够的空间,使其可以滚动到浏览器顶部。
希望能有所帮助。
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- Html地图对象-点击地图获取id的一部分
- tu如何将id放在填充了json数据的html表td上
- 如何重写Javascript If语句以选择Classes而不是ID's的HTML格式
- ID为的HTML样式类
- jQuery值在html中作为id传递
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- 对javascript使用.html中的select id
- 如何筛选要写入新文档的HTML,删除JavaScript中的某些类和/或ID
- 我想使用Javascript中的循环在HTML中的特定id中显示数组中的多个对象
- 如何将value和id动态添加到html下拉选项标记中
- 如何使用 html 类或 id 在任何地方显示内容
- 在库(javascript/HTML)中将“name”替换为“id”
- 使用 PHP 从 HTML 表中获取 DATA-ID HTML
- 在数据响应中选择 #id.html
- 如何在特定InnerHTML上的类HTML元素上创建ID?HTML没有ID,使用JavaScript
- 我可以像这样发送html的值$("#id").html()给后面的代码吗?
- jquery $("#id").html(data)不能在firefox上工作,但可以在chrome
- 为什么我的 javascript 函数不交换编写的 pi id html 内容