jQuery语法问题(获取链接ID)
我有一系列链接,每个链接都有自己的id:jQuery语法问题(获取链接ID),jquery,html,ajax,Jquery,Html,Ajax,我有一系列链接,每个链接都有自己的id: <li><a id="about" href="#">About</a></li> <li><a id="call-us" href="#">Contact us</a></li> <li><a id="home" href="#">Head on home</a></li> 有没有一种方法可以抽象出这样一个事
<li><a id="about" href="#">About</a></li>
<li><a id="call-us" href="#">Contact us</a></li>
<li><a id="home" href="#">Head on home</a></li>
有没有一种方法可以抽象出这样一个事实:当我点击类“ajax”的链接时,我获取它的#ID
,查看.data.html
,然后从data.html
中提取ID为#ID
的div
(我现在知道这并没有指定类,但假设我有5个锚,比如
这无疑会使代码更易于维护。任何输入都将是宏大的。是的,非常容易:
$(document).ready(function(){
$("a.ajax").click(function(e){
$("#content").load("/data.html #" + this.id);
e.preventDefault();
});
});
您可以为每个链接提供如下类:
$(document).ready(function(){
$("a.about").click(function(event){
$("#content").load("/data.html #about");
});
$("a.call-us").click(function(event){
$("#content").load("/data.html #call-us");
});
});
<li><a id="about" href="#" class="ajax">About</a></li>
<li><a id="call-us" href="#" class="ajax">Contact us</a></li>
<li><a id="home" href="#" class="ajax">Head on home</a></li>
至于您对“/data.html id”的调用,我不确定“data.html”是什么正如我在上面所做的那样,您确实希望将ID作为GET或POST参数传递,但您需要在这里做什么取决于您调用的确切内容。我觉得我的回答太直截了当了,我是否误解了您问题的一部分?嗯,有时人们会问一些直截了当的问题:)我正在测试,但很快就会接受。谢谢酷!函数(e)位在做什么?Alex,
e
是传递给函数的“事件”对象。这允许重新定义原始行为。如果您单击带有href='#'
的标记,而不取消默认行为,页面通常会滚动到顶部或底部,并将#
附加到url。您有函数(事件)
,它与函数(e)
相同,但重要的部分是e.preventDefault()
或事件.preventDefault()
,它可以防止浏览器出错:)我理解这意味着他在使用jQuery的功能过滤结果,并且只使用一部分。因此data.html#about
将只使用data.html
page.data.html上带有id=“about”
的元素的内容。html只是另一个保存我的旋转静态内容的页面。@dcneiner,这是正确的。实际上,我在一个页面上有10个产品图标,当你点击其中一个时,说明(在data.html中,in)将被加载到“landing area”div中
<ul id="links">
<li><a id="about" href="#">About</a></li>
<li><a id="call-us" href="#">Contact us</a></li>
<li><a id="home" href="#">Head on home</a></li>
</ul>
$(function() {
$("#links a").click(function() {
$("#content").load("/data.html?id=" + this.id);
return false;
});
});