这可能是一件非常简单的事情,但我似乎无法让它工作,我不知道为什么。我安装了 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>
这应该适合你
$(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
<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>
为此,您不需要“this”,您需要事件的目标:
$("a").live("click", function(event) {
event.preventDefault();
url = event.target.href;
})
工作小提琴
tr += `<td> <a class="btn btn-info m-1 update_info" update_id=${item["stdId"]}><i class='fa fa-edit'></i></a><a class ="btn btn-danger delete_info" delete_id=${item["stdId"]}><i class='fa fa-trash'></i></a></td>`;
$("#stduentTbl").on("click", "a.update_info", () => {
let id = $(this).attr("update_id");
console.log(id);
here when i try to print it will give undefined what happpened.
fetchInfo(id);
});