0

リンクをクリックした後に FadeOut 効果を作ろうとしています。しかし、私の構文は間違っているようです。クリックしてフェードアウトし、「~~nothing~~.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が初めてです。

ありがとうございました!

4

4 に答える 4

3

.val()メソッドはフィールドにのみ適用されます。value要素に属性を配置するだけでは、メソッドでは読み取られませんval()

代わりに を使用します.attr('value')

または、data-*属性を使用してdata()メソッドを使用することをお勧めします。

<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').data('value') + ".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" data-value="374" href="#">Go to page 374</a>
于 2012-08-07T12:15:45.237 に答える
1

試す:

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

それ以外の

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

jQueryドキュメントから-

.val() メソッドは主に、input、select、textarea などのフォーム要素の値を取得するために使用されます。要素の場合、.val() メソッドは、選択された各オプションを含む配列を返します。オプションが選択されていない場合は、null を返します。

ここに例があります - http://jsfiddle.net/A8ArH/

于 2012-08-07T12:15:22.883 に答える
1

val()関数はアンカータグからその値を提供しません。タグの値を取得するために使用しattr("value")ます

$(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; 
        });
    });
});​

または、HTML 5data属性を使用して、そのような種類の値を保存することもできます

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

そして、次のようにjavascriptでアクセスできます

var someVal=$("#go").data("someValue");

サンプルhttp://jsfiddle.net/LyPZB/1/

于 2012-08-07T12:15:27.543 に答える
1

aタグは属性valueをサポートしていません。次のようにする必要があります。

このようにアンカーを設定します

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

(data-xxx はカスタム属性です)

そしてその値を取得します

$('#go').data('page')

このようにして動作し、HTML 標準を尊重します (アンカーには value 属性が必要ないため)。

于 2012-08-07T12:17:46.750 に答える