0

これには2つのオプションがあります:<p class="dayFlag@(day.OwnRequest)">

またはこれ:

                        @if (day.OwnRequest == 1)
                    {
                        <p class="dayFlag canWork"></p>
                    }
                    else if (day.OwnRequest == 2)
                    {
                        <p class="dayFlag canNotWork"></p>
                    }
                    else
                    {
                        <p class="dayFlag"></p>                            
                    }

最初のオプションは、はるかにクリーンです。しかし、タグ witch オプション 2 を見つける方が簡単です。

var dayFlag = dayHolder.find('.dayFlag');

そのような場合のベストプラクティスは何ですか? タグを操作して、ページにいくつかのJavaScriptを取得しました。常にデータ属性で取得するのは「重い」ですか、それとも正規表現でクラスを使用して dayFlaxX の後に数値があるかどうかを確認します

4

1 に答える 1

0

私のコメントをもう少し説明するには:

jQuery のデータ関数を使用して、あらゆる種類の JavaScript データを取得して DOM 要素に格納できます。jQuery は DOM 要素をキャッシュするため、DOM にはまったく保存されず、単に内部的にリンクされます。

データを保存するこの方法は、データを DOM 要素にリンクする必要がある場合に最も使いやすく、最速の方法の 1 つです。

ただし、上記で説明したように、jQuery は DOM 要素の data 属性に直接保存しません。したがって、この HTML があれば<a href="#" data-linkto="homepage">Link</a>、$('[data-linkto]') のような属性セレクターを持つこの要素を見つけて、onclick イベント リスナーを追加できます。

しかし、何らかのユーザー インタラクションの後、$mylinkelement.data('linkto','nowhere') を実行すると、この要素は属性 data-linkto を持たないため、セレクターで検出されません。

于 2013-06-25T12:49:23.990 に答える