所以我试图在跟随像这样的链接之前让一个部分淡出
<a class="fadelink" href="path/to/file">Hello</a>
<script type="text/javascript">
$("a.fadelink").click(function(e){
e.preventDefault();
$("#content").fadeTo(400,0,function(){
window.location.href = $(this).attr("href");
});
});
</script>
问题是,jQuery一直以“未定义”返回我,而404则是重定向。
答案 0 :(得分:9)
$(this)
中的$(this).attr("href")
指的是$("#content")
错误。将其移至正确的范围:
$("a.fadelink").on("click", function( evt ) {
evt.preventDefault();
var goTo = $(this).attr("href"); // get href value of `this` anchor
$("#content").fadeTo(400, 0, function() {
window.location = goTo; // Now you can use it
});
});
答案 1 :(得分:2)
你指的是错误的this
。 href
属性存在于锚点上,而不是#content
元素。
$("a.fadelink").click(function(e){
e.preventDefault();
var that = this;
$("#content").fadeTo(400,0,function(){
window.location.href = $(that).attr("href");
});
});