这可能是非常容易的事情,但我似乎无法让这个工作,我不知道为什么。我安装了jquery,当我点击它时,我试图获得“this”元素的属性。现在我的代码看起来像这样:
url = $(this).attr("href")
当我通过点击链接调用此函数时,它告诉我var“url”未定义。所以当我点击链接时,显然它没有拿起“这个”。我试图传递一个锚标记的href用作我的变量。
我在俯瞰什么?再说一遍,我知道这很简单,但我似乎无法弄清楚,所以谢谢你花时间来帮助我。
感谢。
<script type="text/javascript">
url = "push1";
$("a").live("click", function(event) {
event.preventDefault();
url = $(this).attr("href");
})
$.ajax({
type: "get",
url: "/"+url+".php",
data: "",
dataType: "html",
success: function(html){
jQuery('#Right_Content').hide().html(html).fadeIn(1000);
},
})
;
</script>
HTML:
<body>
<a href="push1" >Image 1</a>
<a href="push2" >Image 2</a>
<div id="Right_Content"></div>
</body>
答案 0 :(得分:9)
这应该对你有用
$(function(){
$(".link").click(function(){
var url=$(this).attr("href");
alert(url);
return false;
});
});
假设您使用名为“link”的css类定位所有锚标记
以下是工作示例:http://jsfiddle.net/L99mM/2/
修改:根据您在问题中发布的代码
你应该在你的ajax调用后调用preventDefault。并且在ajax调用之后应该有结束括号
$("a").live("click", function(event) {
var targeturl = $(this).attr("href");
$.ajax({
type: "get",
url: "/"+targeturl +".php",
data: "",
dataType: "html",
success: function(html){
jQuery('#Right_Content').hide().html(html).fadeIn(1000);
}
}); // closing for ajax
event.preventDefault();
}); // closing for click event binding
答案 1 :(得分:0)
<script type="text/javascript">
var url = "push1";
function getContent(){
$.ajax({
type: "get",
url: "/"+url+".php",
data: "",
dataType: "html",
success: function(html){
jQuery('#Right_Content').hide().html(html).fadeIn(1000);
});
}
$("a").live("click", function(event) {
event.preventDefault();
url = $(this).attr("href");
getContent();
});
getContent();
</script>
答案 2 :(得分:0)
你不需要“这个”,你需要事件的目标:
$("a").live("click", function(event) {
event.preventDefault();
url = event.target.href;
})
工作小提琴