Web サイト開発の javasript 部分では、現在、開発者が document.getElementById() を手動で記述することはほとんどありません。getElementById は文字数が非常に多いため、非常に面倒です。繊細なので、注意しないと間違いを犯す可能性があります。したがって、$ を使用して document.getElemetnById() を実装するのが一般的です。
function $() {
var要素 = new Array();
for (var i = 0; i < argument.length; i ) {
var 要素 = argument[i]
if (typeof element == 'string' )
element = document.getElementById(element);
if (arguments.length == 1)
elements.push(element);
要素を返す;
}
Microsoft の asp.net ajax クライアント フレームワークにも $get と同様のコードがあります。
var $get = Sys.UI.DomElement .getElementById = function Sys$UI$DomElement$getElementById(id, element) {
///
// / < param name="element" domElement="true" options="true" mayBeNull="true">
///
8.9.
var e = Function._validateParams(arguments, [
{name: "id", type: String},
{name: "element", mayBeNull : true、domElement: true、オプション: true}
]);
if (e) throw e;
if (!element) return document.getElementById(id); .getElementById) return element.getElementById(id);
// 要素に getElementById がないブラウザ用の実装: 28.29.
var nodeQueue = []
var childNodes = element.childNodes; 🎜>for (var i = 0; i var node = childNodes[i];
if (node.nodeType == 1) {
nodeQueue[nodeQueue.長さ] = ノード;
}
}
while (nodeQueue.length) {
node = nodeQueue.shift();
if (node.id == id) {
ノードを返す;
}
childNodes = node.childNodes;
for (i = 0; i node = childNodes[i]; node.nodeType == 1) {
nodeQueue[nodeQueue.length] = ノード;
}
}
}
return
}
jQuery はシンプルで美しく、さらに重要なことに Microsoft によって積極的に推進されているため、jQuery をプロジェクトに導入することは自然かつ必然であり、jQuery は $ 関数を使用して jQuery オブジェクト、つまり $=jQuery を返します。 、 jQuery の導入 最後に、$ 記号の問題に関しては必然的に競合が発生するため、これを解決するには主に 2 つのアイデアがあります。
1. jQuery.noConfict() を使用して $$ を jQuery と等しくします。コードは $$=jQuery.noConflict() です。この方法では、いくつかのことを行う必要があります。
1. jQuery および jQuery ベースの jQuery の VS スマート プロンプト ファイル (jQueryXXX –vsdoc. js) も最後の window.jQuery = window.$ = jQuery; に変更してもOKです。
2. jQuery ベースのプラグインと拡張ファイルの末尾に $=jQuery.noConflict(); を追加します。
3. 元の $ 実装ファイルで、先頭に jQuery.noConflict() を追加することは、$ の「権限」を他の独自の js ファイルに渡し、ファイルの最後に $$=jQuery を追加することを意味します。 .noConflict()。
4. ページに js を導入するときは、jQuery 関連のファイルが前に配置され、jQuery に関係のないファイルが後ろに配置されるように注意してください。
これを実行した後も、$ は以前の意味を表しており、jQuery を使用する場合は、jQuery または $$ を使用してください。
利点: 目標を達成するために変更する必要があるファイルはわずか数個だけです。
欠点: $$ は使いにくいです。今後 jQuery プラグインを導入する場合は、ステップ 2 に従う必要があります。
2. 元の $ を置き換えます。今後のプロジェクトでは jQuery が広く使用されるため、結局 $$ または jQuery を使用してコードを記述する必要があるため、2 番目の方法を採用しました。 asp.net ajax との互換性を考慮して、元の $ は $get に置き換えられます。これを Visual Studio
に置き換えることは難しくありませんが、それでもいくつかの手順が必要です。
1. まず $(" を $get(" に置き換えます。次に $(' を $get(' に置き換えます。最後に $get を $ に置き換えます。
2. 置き換えるときに VSS を使用します。プロンプト関数と各ファイルを確認します (何か問題が発生した場合、それは簡単な問題ではありません)。最終的には、いくつかの小さな問題がありましたが、基本的には同僚の助けで解決されました
3. Visual Studio の代替機能は本当にたくさんあります。ファイル内の置換のようなものはたくさんあります。
を使用しますが、右側に $ が明確に表示されているため、選択しないでください。もちろん、[検索] では [現在のプロジェクト] が選択されます。もちろん、右側のボタンを押した後、これらのファイル タイプを選択して特殊なファイルを選択することもできます。 . と入力して範囲を絞り込みます。