1

私は次のコードを持っています -

$(window).resize(function () {
    if ($(window).width() >= 1023) {
        for (var i = 0; i < seatInfo.length; i++) {
            if (seatInfo[i].data == 'true') {
                document.getElementById('Btn1').style.visibility = "visible";
                break;
            } else {
                document.getElementById('Btn1').style.visibility = "hidden";
            } 
        }
        if (nameInfo[0].data == "true") {
            document.getElementById('Btn2').style.visibility = "visible";
        }
    }
    if ($(window).width() <= 1022) {
        document.getElementById('Btn2').style.visibility = "hidden";
    }
});

これは正しい書き方でしょうか?JavaScript と jQuery が混在していることに気付きました。

4

4 に答える 4

2

jQuery 構文について具体的に質問している場合、答えはノーです。はるかに短い jQuery メソッドの代わりに、ネイティブ JavaScript メソッドを使用しています。

いくつかのjQuery セレクターを見てください。例えば:

の id 属性を持つ要素は、 jQuery のid 属性セレクターfooを使用して見つけることができます。 #

var element = $( "#foo" ); // match the element

要素の可視性属性を変更することは、他の css 属性を変更することと同じです:

element.css( "visibility", "visible" ); // change css properties

jQuery の優れた機能は、多くのショートカット メソッドがあることです。要素を表示および非表示にする (およびそれらを切り替える) ショートカット メソッドがいくつかあります。

于 2013-09-22T22:30:23.413 に答える
1

$('#some-id').hide()とを使用できます$('#some-id').show()。またはの代わりdocument.getElementById('some-id')に.style.visibility = "visible"style.visibility = "hidden"

于 2013-09-22T22:30:54.117 に答える
-1

jquery の.cssを使用し、それを json 構造として設定して、1 つまたは複数の CSS 属性を定義することができます。これは覚えやすいです。

$('#Btn1').css({
    'property': 'value', 
    'property': 'value'
});

または、単一の属性に対してこのように使用します

var btn1 = $('#Btn1'),
   btn2 = $('#Btn2'),
   window = $(window); 

window.resize(function () {
    if (window.width() >= 1023) {
        for (var i = 0; i < seatInfo.length; i++) {
            if (seatInfo[i].data == 'true') {
                btn1.css('visibility','visible');
                break;
            } else {
                btn1.css('visibility','hidden');
            } 
        }
        if (nameInfo[0].data == "true") {
            btn2.css('visibility','visible');
        }
    }
    if (window.width() <= 1022) {
        btn2.css('visibility','hidden');
    }
});
于 2013-09-22T22:31:17.783 に答える