0

次のコードがあります。正常に動作していますが、3行目がベストプラクティスであるかどうか疑問に思っています。要素 myID がページ上にある場合、その属性が変更されます。ただし、すべてのページにあるわけではないため、多くの場合、これは何もしません。これは私には無害に思えますが、気づいていない欠点はありますか?

    $(document).ready(function () {
        if ($(window).width() < 700) {
            $('#myID').attr('size', 1)
        }
    });
4

2 に答える 2

3

jquery属性ドキュメントから

.attr() メソッドは、一致したセットの最初の要素のみの属性値を取得します。各要素の値を個別に取得するには、jQuery の .each() または .map() メソッドなどのループ構造を使用します。

この.attr()メソッドは、jquery オブジェクトの最初の要素に属性を設定しようとします。jquery オブジェクトが空の場合、何も起こりません。

于 2012-12-17T12:24:54.470 に答える
2

念のために、アクションを実行する前にオブジェクトの存在を確認できます

$(document).ready(function () {
    if ($(window).width() < 700 && $('#myID').length) {
        $('#myID').attr('size', 1);
    }
});
于 2012-12-17T12:24:25.577 に答える