我是Jquery的新手,并尝试发出http请求,这样我就不必离开当前页面,但是
var getURL = $("#callerId").attr("href");
似乎没有用 console.log(getURL)显示“undefined”
有源代码(callerId的所有内容应该是正确的)
<script type = "text/javascript">
$(document).ready(function() {
$('ul.hrefURL a').click(function(dontRedirect) {
dontRedirect.preventDefault();
var callerId = event.target.id;
var getURL = $("#callerId").attr("href");
$.ajax({
type : "GET",
url: getURL,
success: function(response){
alert($('#response'));
}
});
});
});
</script>
<a href="javascript:document.location = TTS1" id = "1T">
答案 0 :(得分:2)
您需要使用
var getURL = $(this).attr("href");
而不是
var getURL = $("#callerId").attr("href");
在第一种情况下,$(this)
指向您刚刚单击的锚点的jquery对象,在第二种情况下 - 它指向某个甚至未被您的示例覆盖的元素
答案 1 :(得分:1)
我认为你打算这样做:
<script type = "text/javascript">
$(document).ready(function() {
$('ul.hrefURL a').click(function(e) {
e.preventDefault();
var getURL = this.href;
$.ajax({
type : "GET",
url: getURL,
success: function(response){
alert($('#response'));
}
});
});
});
</script>
您之前代码的相关信息:
this
将自动设置为导致该事件的对象,因此您无需获取target.id
。this.href
获取href的值。没有必要使用jQuery。this
的值设置为jQuery对象,则可以使用$(this)
或$(e.target.id)
执行此操作。当它是CSS选择器时,你使用jQuery字符串。当您已经拥有对象引用时,可以直接使用变量值。