Javascript Jquery语法和变量

Javascript Jquery语法和变量,javascript,jquery,html,css,fadeout,Javascript,Jquery,Html,Css,Fadeout,我试图在点击链接后产生淡出效果。但我的语法似乎错了。当我单击时,它会淡出,并转到~~无~~~.html页面,它只是没有得到组成变量的值。 id boo附加到标记body id=boo,在css样式表中,id boo设置为display:none; 我正在使用jquery-1.7.2.min <script type="text/javascript"> $(document).ready(function(){ $('#go').click(function(

我试图在点击链接后产生淡出效果。但我的语法似乎错了。当我单击时,它会淡出,并转到~~无~~~.html页面,它只是没有得到组成变量的值。 id boo附加到标记body id=boo,在css样式表中,id boo设置为display:none; 我正在使用jquery-1.7.2.min

<script type="text/javascript">
    $(document).ready(function(){
        $('#go').click(function(e) { //When something with the id 'go' is clicked, 
            e.preventDefault(); //Prevent default action (?)
            var url = $('#go').val() + ".html"; //set url as "Clicked 'go' value + .html" (374.html"
            $('#boo').fadeOut(600, function() { window.location.href = url; }); //fadeOut what is with the 'boo' id (body), and load the created address as a new page (?)
        });
    });
</script>
<a id="go" value="374" href="#">Go to page 374</a>
374.html页面位于同一文件夹中。如果可能的话,请解释我做错了什么,并一步一步地做。我不熟悉jquery

谢谢大家!

试试看:

var url = $('#go').attr("value") + ".html";
而不是

var url = $('#go').val() + ".html";
从jQuery-

.val方法主要用于获取表单元素的值 例如输入、选择和文本区域。对于元素,.val方法返回一个数组 包含每个选定选项;如果未选择任何选项,则返回 空

这里有一个例子-

试试:

var url = $('#go').attr("value") + ".html";
而不是

var url = $('#go').val() + ".html";
从jQuery-

.val方法主要用于获取表单元素的值 例如输入、选择和文本区域。对于元素,.val方法返回一个数组 包含每个选定选项;如果未选择任何选项,则返回 空

这里有一个例子-

val函数不会从锚定标记中提供该值,请使用attrvalue获取标记的值

$(document).ready(function(){
    $('#go').click(function(e) { 
        e.preventDefault(); 
        var url = $('#go').attr("value") + ".html"; 
        alert(url)
        $('#boo').fadeOut(600, function() {
                 window.location.href = url; 
        });
    });
});​
或者,您可以使用HTML5数据属性来存储此类值

<a id="go" data-someValue="374" href="#">Go to page 374</a>
示例val函数不会从锚定标记中提供该值,请使用attrvalue获取标记的值

$(document).ready(function(){
    $('#go').click(function(e) { 
        e.preventDefault(); 
        var url = $('#go').attr("value") + ".html"; 
        alert(url)
        $('#boo').fadeOut(600, function() {
                 window.location.href = url; 
        });
    });
});​
或者,您可以使用HTML5数据属性来存储此类值

<a id="go" data-someValue="374" href="#">Go to page 374</a>
sample

该.val方法仅适用于字段,仅在任何元素上放置value属性不会被val方法读取

而是使用.attr'value'

或者,更好的做法是使用data-*属性并使用data方法:

.val方法只适用于字段,只是将value属性放在任何元素上都不会被val方法读取

而是使用.attr'value'

或者,更好的做法是使用data-*属性并使用data方法:

a标记不支持属性值,应执行以下操作:

像这样下锚

<a id="go" data-page="374" href="#">...
通过这种方式,它将起作用,并且您将遵守HTML标准,因为锚点不应具有value属性

a标记不支持属性值,您应该这样做:

像这样下锚

<a id="go" data-page="374" href="#">...

通过这种方式,它将工作,并且您将尊重HTML标准,因为锚不应该具有value属性

the.val与转到第374页一起工作,这就是为什么我认为它可以工作的原因,它有一个按钮,带有id make,在js代码的第一步中,改为一个make id。如果我没有记错的话,我已经从jQuery文档中添加了一些文本,这表明val函数是为处理输入元素而设计的。这将备份您的体验。val与转到第374页一起工作,这就是为什么我认为它可以工作的原因,它有一个按钮,带有id make,在js代码的第一步中,使用一个make id。如果我没有记错的话,我已经从jQuery文档中添加了一些文本,这表明val函数是为处理输入元素而设计的。这将支持你的体验。它是有效的,但如果我使用多个链接,它会/总是/得到第一个链接的链接id@ghaschel-但不能有多个id为go的元素?另外,不要重复使用选择器进入陈词滥调事件,使用$this获得实际点击的链接!斯里,那太尴尬了。用$this and.go代替goIt解决了我的问题,但是如果我使用多个链接,它会/总是/得到第一个链接id@ghaschel-但不能有多个id为go的元素?另外,不要重复使用选择器进入陈词滥调事件,使用$this获得实际点击的链接!斯里,那太尴尬了。用$this和$go解决了我的问题