ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 動的挿入技術の深い理解_JavaScript スキル

JavaScript 動的挿入技術の深い理解_JavaScript スキル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-05-16 17:15:59
オリジナル
1917 人が閲覧しました

最近、すべての主要なライブラリで div.innerHTML=HTML フラグメントを使用してノード要素を生成し、それをターゲット要素のさまざまな位置に挿入できることがわかりました。これは実際には insertAdjacentHTML ですが、IE の忌まわしい innerHTML はこの利点を欠点に変えます。まず、innerHTML は特定の位置の空白を削除します。以下の実行ボックスの結果を参照してください。

コードをコピー コードは次のとおりです。





<br> IE の InnerHtml By Situ Zhengmei <br> & lt;/Title & GT; <br> & LT; Script Type = "Text/Javascript" & GT; <br> Window.onload = Function () {<br> VAR DIV = D = D = D = D ocument.createelement ( "div");<br> div.innerHTML = " <td>gt; <b>Situ</b>正美 " "<br> "alert(" |" div.innerHTML "|"); <br> var c = div.childNodes; <br>alert(c[i].nodeType);<br> if(c[i].nodeType === 1){ <br>alert( "::" c [i] .childnodes.length); <br>> <br><br> <br></html><br> <br><br><br> <br>もう 1 つの厄介な点は、次の要素の innerHTML が IE では読み取り専用であることです:col、colgroup、frameset、html、head、style、table、tbody、tfoot、thead、title、tr。それらをクリーンアップするために、Ext は特別に insertIntoTable を作成しました。 insertIntoTableはDOMのinsertBeforeとappendChildを使って追加します。基本的にはjQueryと同じです。ただし、jQuery はこれら 2 つのメソッドに完全に依存しており、Ext も insertAdjacentHTML を使用します。効率を向上させるために、すべてのクラス ライブラリは常にドキュメントの断片化を使用します。基本的なプロセスは、div.innerHTML を通じてノードを抽出し、それをドキュメント フラグメントに転送し、insertBefore と appendChild を使用してノードを挿入することです。 Firefox の場合、Ext は createContextualFragment を使用してテキストを解析し、ターゲットの場所に直接挿入します。明らかに、Ext は jQuery よりもはるかに高速です。ただし、jQuery は HTML フラグメントだけでなく、さまざまなノードや jQuery オブジェクトも挿入します。 jQuery のワークフローを確認してみましょう。 <br> <br><br><br><p>コードをコピー</p> <p></p> </div> コードは次のとおりです:<div class="codebody" id="code51724"> <br>append: function() { <br> //引数オブジェクトを渡します。true はテーブルの特別な処理を意味します。コールバック関数 <br> return this.domManip(arguments, true, function(elem){ <br> if (this.nodeType == 1) <br> this.appendChild( elem ) <br> }); <br>}, <br>domManip: function( args, table, callback ) { <br> if ( this[0] ) {// 要素ノードがある場合 <br> var flagment = (this[0].ownerDocument || this[0]).createDocumentFragment(), <br> // 3 つあることに注意してください。ここでパラメータ <br> scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), flagment ), <br> first = flagment.firstChild; if ( first ) <br> for ( var i = 0, l = this.length; i <l i> callback.call( root(this[i], first), this.length > 1 || i > 0 ? <br> フラグメント.cloneNode(true) : フラグメント ); <br><br> if ( scripts ) <br> jQuery.each( scripts, evalScript );これを返す ; <br><br> 関数 root( elem, cur ) { <br> テーブルを返す && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ? .getElementsByTagName ("tbody")[0] || <br> elem.appendChild(elem.ownerDocument.createElement("tbody")) : <br> elem; <br> } <br>} <br>// elems は引数オブジェクト、context はドキュメント オブジェクト、fragment は空のドキュメント フラグメントです。 !context.createElement は IE でエラーで失敗しますが、typeof 'object' を返します <br> if ( typeof context.createElement === "unknown" ) <br> //コンテキストがドキュメント オブジェクトであることを確認してください<br> context = context .ownerDocument || context[ 0] && context[0].ownerDocument <br><br> // 単一の文字列が渡され、それが単一のタグである場合 <br> // createElement を実行してスキップします。残りの部分 <br> / / <div> など、ドキュメント オブジェクト内にタグが 1 つだけある場合 <br> // 外部からこのように呼び出すことができます $(this).append("<div>" ) <br> //この時は中の要素名を直接取り出してdocument.createElement("div")で作成して配列に入れて<br>を返します if ( !fragment && elems.length == = 1 && typeof elems[0] === "string " ) { <br> var match = /^$/.exec(elems[0]); <br> if ( match ) <br> return [ context.createElement( match [1] ) ]; <br> } <br> // div の innerHTML を使用してノードを作成します <br> var ret = [], scripts = [] , div = context.createElement("div"); <br> // $(this).append("<td>Table 1</td>", "<td>Table 1</td>" を追加すると;", "<td>表 1< ;/td>") <br> //jQuery.each は 4 番目の分岐メソッド (パラメーターなし、長さ) に従ってエージェント オブジェクトを走査します。callback.call( value, i, value ) <br> jQuery.each (elems, function(i, elem){//i はインデックス、elem は引数オブジェクトの要素です <br> if ( typeof elem === "number" ) <br> elem = ''; <br><br> if ( !elem ) <br> return; <br><br> // HTML 文字列を DOM ノードに変換します <br> if ( typeof elem === "string" ) { <br> // すべてのブラウザの「XHTML」スタイル タグを修正 <br> elem = elem.replace(/(<(w )[^>]*?)/>/g, function(all,front, tag){ <br> タグを返します。 match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? <br> }); <br><br>      // Trim whitespace, otherwise indexOf won't work as expected <br>      var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase(); <br><br>      var wrap = <br>        // option or optgroup <br>        !tags.indexOf("<opt") && <BR> [ 1, "<select multiple='multiple'>", "</select>" ] || <br><br>        !tags.indexOf("<leg") && <BR> [ 1, "<fieldset>", "</fieldset>" ] || <br><br>        tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && <BR> [ 1, "<table>", "</table>" ] || <br><br>        !tags.indexOf("<tr") && <BR> [ 2, "<table><tbody>", "</tbody></table>" ] || <br><br>        // <thead> matched above <br>      (!tags.indexOf("<td") || !tags.indexOf("<th")) && <BR> [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] || <br><br>        !tags.indexOf("<col") && <BR> [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] || <br><br>        // IE can't serialize <link> and <script> tags normally <br>        !jQuery.support.htmlSerialize &&//用于创建link元素 <br>      [ 1, "div<div>", "</div>" ] || <br><br> ] elem Wrap[2];//例: "<table><tbody><tr>" <td>Table 1 tr></tbody></table> " <br><br> // 右の深さに移動 <br> while ( Wrap[0]-- ) <br> div = div.lastChild; <br> <br> // IE を処理して、次のような tbody を自動的に挿入します。$('<thead></thead>') を使用して HTML フラグメントを作成します。これは、<br> //'<thead><を返すはずです;/thead>' を返しますが、IE は '<br> if ( !jQuery.support.tbody ) { <br><BR> / / 文字列は <table> でした。*不正な <tbody> がある可能性があります* <br> var hasBody = /<tbody/i.test(elem), <br> tbody = !tags.indexOf("<table ") && !hasBody ? <br> div.firstChild && div.firstChild .childNodes : <br><br> // 文字列は裸の <thead> または <tfoot> <br> Wrap[1] == " <table>" && !hasBody ? <br> div.childNodes : <br> []; <br> for (var j = tBody.length -1; j & gt; = 0; --j) <br> // 自動的に挿入される場合、コンテンツがあってはなりません <br> if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) <br> tbody[ j ].parentNode.removeChild( tbody[ j ] ); <br><br> } <br><br> // innerHTML が使用されると、IE は先頭の空白を完全に削除します <br> if ( !jQuery.support.leadingWhitespace && / ^s/.test( elem ) ) <br> div.insertBefore( context.createTextNode ( elem.match(/^s*/)[0] ), div.firstChild ); //すべてのノードを純粋にしますarrays<br> elem = jQuery.makeArray( div.childNodes ); <br> } <br><br> if ( elem.nodeType ) <br> ret.push( elem ); // 2 つの配列をマージすると、merge メソッドは IE の param 要素 <br> ret = jQuery.merge( ret, elem ); <br><br> if のオブジェクト要素の消失を処理します。 ( flagment ) { <br> for ( var i = 0; ret[i] ; i ) { <br> //最初のレイヤーの childNode にスクリプト要素ノードがある場合、後で globalEval を使用して動的に実行するために、スクリプトを使用してノードを収集します。 <br> if ( jQuery.nodeName( ret[i], " script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { <br> scripts.push(ret [i] .parentnode?parentnode.RemoveChild(ret [i]):nodeType === 1)<br> splice.apply( ret, [i 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); <br> フラグメント (ret[i] ); } <br> } <br><br> return scripts;//動的挿入では 3 つのパラメータが渡されるため、<br> がここで返されます。 } <br><br> return <br>}, <br> <br><br> <p><img src="http://files.jb51.net/file_images/article/201311/20131112145628668.jpg" alt="JavaScript 動的挿入技術の深い理解_JavaScript スキル" ></p> <p>複雑すぎて泣ける!ただし、jQuery の実装はあまり賢くはありません。clean を使用して、挿入されたすべてのものをノード コレクションに変換し、それをドキュメント フラグメントに配置し、appendChild と insertBefore を使用してそれらを挿入します。現在、Firefox を除く他のブラウザは insertAdjactentXXX ファミリをサポートしているため、これらのネイティブ API を有効に活用する必要があります。以下は、insertAdjactentHTML およびその他のメソッドを使用して Ext によって実装された DomHelper メソッドです。公式 Web サイトから提供されるデータは次のとおりです。</p> <p><img src="http://files.jb51.net/file_images/article/201311/20131112145751246.jpg" alt="JavaScript 動的挿入技術の深い理解_JavaScript スキル" ></p> <p>このデータは少し古いものですが、最新の 3.03 では、IE テーブルへのコンテンツの挿入に関する批判が長い間解決されています (テーブルの innerHTML、tbody、tr などはすべて読み取り専用で、insertAdjactentHTML や pastHTML などのメソッドは使用できません)。コンテンツを変更することはできません。遅い標準的な DOM アプローチを使用する必要がありますが、これが Ext の初期バージョンの失敗点です)。 insertAdjactentHTML とドキュメントの断片化を組み合わせた後、IE6 でのノードの挿入速度も信じられないほど向上し、Firefox の速度にほぼ近づいていることがわかります。これに基づいて、Ext は 4 つの分岐メソッド insertBefore、insertAfter、insertFirst、append を開発しました。これらは、jQuery の before、after、prepend、append にそれぞれ対応します。ただし、jQuery はこれらのメソッドを呼び出し元と受信パラメーターで巧みに交換し、insertBefore、insertAfter、prependTo、appendTo メソッドを派生させました。しかし、いずれにせよ、jQuery の画一的なアプローチには同意するのが難しいです。以下は、Firefox に実装された insertAdjactentXXX ファミリのバージョンです: </p> <p></p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="29698" class="copybut" id="copybut29698" onclick="doCopy('code29698')"><u>コードをコピー</u></a></span> コードは次のとおりです。</div> <div class="codebody" id="code29698"> <br>(function() { <br> if (この中の 'HTMLElement ') { <br> If('insertAdjacentHTML' in HTMLElement.prototype) { <br> return<br> } <br> } else { <br> return<br> } <br><br> function insert( w, n) { <br> switch(w.toUpperCase()) { <br> case 'BEFOREEND' : <br> this.appendChild(n) <br> Break<br> case 'BEFOREBEGIN' : <br> this .parentNode.insertBefore(n, this) <br> Break<br> case 'AFTERBEGIN' : <br> this.insertBefore(n, this.childNodes[0]) <br> Break<br> case ' AFTEREND ' : <br> this.parentNode.insertBefore(n, this.nextSibling) <br> Break<br> } <br> } <br><br> function insertAdjacentText(w, t) { insert.call(this, w , document.createTextNode(t || '')) <br> } <br><br> function insertAdjacentHTML(w, h) { <br> var r = document.createRange() <br> r.selectNode(this) <br> insert.call(this, w, r.createContextualFragment(h)) <br> } <br><br> function insertAdjacentElement(w, n) { <br> insert.call(this, w, n) <br> return n <br> } <br><br> HTMLElement.prototype.insertAdjacentText = insertAdjacentText <br> HTMLElement.prototype.insertAdjacentHTML = insertAdjacentHTML <br> HTMLElement.prototype.insertAdjacentElement = insertAdjacent 要素 <br>})() <br> <p></p> </div> これを使用して、より高速かつ合理的な動的挿入方法を設計できます。私の実装の一部を以下に示します: <p> </p> <p></p> <div class="codetitle"> <span><a style="CURSOR: pointer" data="69219" class="copybut" id="copybut69219" onclick="doCopy('code69219')">コードをコピー<u></u></a> コードは次のとおりです:</span><div class="codebody" id="code69219"> <br>//insertAdjactentHTML の 4 つの挿入位置に対応する 4 つの挿入メソッド。名前は jQuery に基づいています。<br>//文字列、さまざまなノード、または dom オブジェクト (配列のようなオブジェクト、便利なオブジェクト) を使用できます。連鎖操作! ) <br>//jQueryの実装よりコードがシンプルで美しい! <br> append:function(stuff){ <br> return dom.batch(this,function(el){ <br> dom.insert(el,stuff,"beforeEnd"); <br> }); }, <br> prepend:function(stuff){ <br> return dom.batch(this,function(el){ <br> dom.insert(el,stuff,"afterBegin"); <br> }); 🎜> }, <br> before:function(stuff){ <br> return dom.batch(this,function(el){ <br> dom.insert(el,stuff,"beforeBegin"); <br> }) ; <br> }, <br> after:function(stuff){ <br> return dom.batch(this,function(el){ <br> dom.insert(el,stuff,"afterEnd"); <br> }); <br> } <br> <br><p> </p> </div>これらはすべて、batch と insert という 2 つの静的メソッドを呼び出します。 DOM オブジェクトは配列のようなオブジェクトであるため、jQuery の例に従い、forEach、map、filter などのいくつかの重要なイテレータを実装しました。 dom オブジェクトには複数の DOM 要素が含まれており、forEach を使用してそれらを走査し、その中のコールバック メソッドを実行できます。 <p></p> <p></p> <div class="codetitle"><span>コードをコピー<a style="CURSOR: pointer" data="50656" class="copybut" id="copybut50656" onclick="doCopy('code50656')"><u></u> コードは次のとおりです。</a></span></div>batch:function(els,callback){ <div class="codebody" id="code50656"> els.forEach(callback); <br> return els;//チェーン操作<br>},<br><br><br> </div>insert メソッドは、jQuery の domManip メソッド (dojo は place メソッドを使用します) に対応する機能を実行しますが、要素ノードのグループを処理する jQuery とは異なり、insert メソッドは一度に 1 つの要素ノードを処理します。クラスター処理は、上記のバッチ方式から分離されました。 <p></p> <p></p> <div class="codetitle"><span>コードをコピー<a style="CURSOR: pointer" data="32903" class="copybut" id="copybut32903" onclick="doCopy('code32903')"><u></u> コードは次のとおりです:</a><div class="codebody" id="code32903"> <br>insert : function(el,stuff,where){ <br> // 2 つのグローバルなものを定義し、内部メソッド呼び出しを提供します<br> var doc = el.ownerDocument, <br> flagment = doc.createDocumentFragment(); <br> if(stuff.version){// dom オブジェクトの場合、その中の要素ノードをドキュメント フラグメントに移動します <br> Staff.forEach(function(el){ <br> フラグメント.appendChild(el); ,where){ <br> switch (where){ <br> case 'beforeBegin': <br> el.parentNode.insertBefore(node,el) <br> case; 'afterBegin': <br> el .srtBeFore (node, el.firstChild); <br> Break; <br> Case 'BeForend': <br> El.appendingChild (node); ) el.parentNode.insertBefore(node,el.nextSibling); <br> else el.parentNode.appendChild(node); // Firefox が呼び出す場合<br> dom._insertAdjacentHTML = function(el,htmlStr,where){ <br> var range = doc.createRange(); <br> switch (where) { <br> case "beforeBegin"://before <br> range.setStartBefore(el); > range.collapse(true); <br> case "beforeEnd"://append <br> range.collapse(false) ; <br> case "afterEnd"://prepend <br> range.setStartAfter(el); ertAdjacentElement (el,parsedHTML,where);; <br> // 次の要素の innerHTML は IE では読み取り専用です。insertAdjacentElement を呼び出して挿入するとエラーが発生します。 <br> //col、colgroup、frameset、html、head、style、title、table、tbody、 tfoot、thead、および tr; <br> dom._insertAdjacentIEFix = function(el,htmlStr,where){ <br> var parsedHTML(htmlStr,fragment) 🎜> };ノード、コピーを作成します<br> スタッフ = スタッフ.nodeType ? スタッフ.cloneNode(true) : スタッフ; <br> if (el.insertAdjacentHTML) {//つまり、オペラとサファリの両方が insertAdjacentXXX ファミリーを実装しています <br> try{// Opera、safari、Chrome、IE に適しています <br> el['insertAdjacent' (stuff.nodeType ? 'Element':'HTML')](where,スタッフ); { <br> dom._insertAdjacentIEFix(el,stuff,where); <br> } else{ <br> } else{ //Firefox のみ<br> dom['_insertAdjacent' (stuff.nodeType ? 'Element':' HTML')](el,stuff,where); <br> } <br> } <br> <br><br><br> <br>insert メソッドは、Firefox の挿入操作を実装する際に、W3C DOM Range オブジェクトのいくつかの珍しいメソッドを使用します。詳細については、Firefox の公式 Web サイトを確認してください。次の実装では、innerHTML の優れたメソッドを使用して、文字列をノードに変換します。 Prototype.js では _getContentFromAnonymousElement と呼ばれていますが、問題が多く、dojo では _toDom、mootools では Element.Properties.html、jQuery ではクリーンと呼ばれています。 Ext にはこれがありません。HTML フラグメントを渡す insertAdjacentHTML メソッドのみをサポートし、要素ノードを渡す insertAdjacentElement はサポートしません。ただし、場合によっては、(要素ノードでラップされていない) テキスト ノードを挿入する必要があり、その後、ドキュメント フラグメントをコンテナとして使用する必要があり、挿入メソッドが表示されます。 <br> <p></p> </div> <p>コードをコピー</p> <p></p> <div class="codetitle"> コードは次のとおりです:<span><div class="codebody" id="code59606"> <br>parseHTML: function(htmlStr, flagment){ <br> var div = dom.doc.createElement("div"), <br> reSingleTag = /^ $/;//<br> htmlStr = ''; <br> if(reSingleTag.test(htmlStr)) などの単一のタグに一致します。{// str が単一のタグの場合 <br> return [ dom.doc .createElement(RegExp.$1)] <br> } <br> var tagWrap = { <br> オプション: ["select"], <br> optgroup: ["select"], <br> tbody: [ "テーブル" ], <br> thead: ["テーブル"], <br> tfoot: ["テーブル"], <br> tr: ["テーブル", "tbody"], <br> td: ["テーブル", " tbody", "tr"], <br> th: ["table", "thead", "tr"], <br> 凡例: ["fieldset"], <br> キャプション: ["table" ], <br> コルグループ: ["テーブル"], <br> コル: ["テーブル", "コルグループ"], <br> リ: ["ul"], <br> リンク:["div"] <br> } ; <br> for(var param in tagWrap){ <br> var tw = tagWrap[param]; <br> case "option":tw.pre = '<select複数 = 複数">'; <br> "<" ケース ": tw.pre = 'fixbug<div>'; <br> "<" < ;") ">"; <br> } <br> tw.post = "</" tw.reverse().join("></") ">"; <br> 🎜 > var reMultiTag = /<s*([w:] )/,//<li></li>,li <br> match = htmlStr.match( など) のタグのペアまたは複数のタグと一致します。 reMultiTag), <br> tag = match ? match[1].toLowerCase() : "";//<li,li <BR> if(match && tagWrap[tag]){ <BR> var Wrap = tagWrap[tag]; <BR> div.innerHTML = Wrap.pre htmlStr Wrap.post; <BR> n = Wrap.length <BR> while(--n >= 0)//追加したコンテンツを返します。 <br> div = div.lastChild; <br> }else{ <br> div.innerHTML = htmlStr; <br> } <br> // tbody を自動的に挿入するように IE を処理します。たとえば、dom.parseHTML(' <thead> ;</thead>') は HTML フラグメントを変換します。<br> //'<thead></thead>' を返す必要がありますが、IE は '<thead></thead> を返します。 <br> if(dom.feature.autoInsertTbody && !! tagWrap[tag] ){ <br> var ownInsert = tagWrap[tag].join('').indexOf("tbody") !== -1,//<br> tbody = div.getElementsByTagName("tbody"を挿入しました) "), <br> autoInsert = tbody.length > 0;//<br> IE によって挿入 if(!ownInsert && autoInsert){ <br> for(var i=0,n=tbody.length;i<n ;i ) { <BR> if(!tbody[i]. 🎜> } <BR> }<BR> if (dom.feature.autoRemoveBlank && /^s/.test(htmlStr) ) <BR> div.insertBefore( dom.doc.createTextNode(htmlStr.match(/^s*/)[0] ), div .firstChild ); <BR> if (fragment) { <BR> var firstChild; <BR> while((firstChild = div.firstChild)){ // Transfer the nodes on the div to the document fragment! <BR>            fragment.appendChild(firstChild); <BR><BR><BR> <BR> Well, that’s basically it. It runs much faster than jQuery, and the code implementation is pretty elegant. At least it’s not as messy as jQuery. jQuery also has four reverse methods. The following is the implementation of jQuery: <BR> </P><P></div></P><P>Copy code</P><P><div class="codetitle"> The code is as follows:<span><a style="CURSOR: pointer" data="79496" class="copybut" id="copybut79496" onclick="doCopy('code79496')"><U>jQuery.each({ </U> appendTo: "append ", </a> prependTo: "prepend", </span> insertBefore: "before", </div> insertAfter: "after", <div class="codebody" id="code79496"> replaceAll: "replaceWith"<BR>}, function(name, original){ <BR> jQuery.fn[ name ] = function( selector ) {//Insert (html, element node, jQuery object) <BR> var ret = [], insert = jQuery( selector );//Convert insert into jQuery Object <BR> for ( var i = 0, l = insert.length; i < l; i ) { <BR> var elems = (i > 0 ? this.clone(true) : this).get() ; <br>              jQuery.fn[ original].apply( jQuery(insert[i]), elems);//Call four implemented insertion methods <br>                                                                                                                            <br>         return this.pushStack( ret, name, selector);//Since the chain operation code is not separated, you need to implement it yourself <br><br><br> <br>My implementation: <br> <br><br><br><br>Copy code<p></p> </div> The code is as follows:<p></p> <p>dom.each({ </p> <div class="codetitle"> appendTo: 'append ', <span> prependTo: 'prepend', <a style="CURSOR: pointer" data="46384" class="copybut" id="copybut46384" onclick="doCopy('code46384')"> insertBefore: 'before', <u> insertAfter: 'after'</u>},function(method,name){ </a> dom.prototype[name] = function(stuff){ </span>         return dom(stuff)[method](this); </div> <div class="codebody" id="code46384"> <br> <br>The general code is given, so everyone can choose what they need. <br> </div></span> </div></span></div> </div> </td> </tr></tbody></table></l> </div> </div> </div> <div style="display: flex;"> <div class="wzconBq" style="display: inline-flex;"> <span>関連ラベル:</span> <div class="wzcbqd"> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/ja/search?word=javascript" target="_blank">javascript</a> </div> </div> <!-- <div style="display: inline-flex;float: right; color:#333333;">ソース:php.cn</div> --> </div> <div class="wzconOtherwz"> <a href="https://www.php.cn/ja/faq/15528.html" title="text_javascript スキルを強調するための JS コード"> <span>前の記事:text_javascript スキルを強調するための JS コード</span> </a> <a href="https://www.php.cn/ja/faq/15530.html" title="Javascript_javascript スキルにおけるこのキーワードの詳細な分析"> <span>次の記事:Javascript_javascript スキルにおけるこのキーワードの詳細な分析</span> </a> </div> <div class="wzconShengming"> <div class="bzsmdiv">このウェブサイトの声明</div> <div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div> </div> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="2507867629"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzconZzwz"> <div class="wzconZzwztitle">著者別の最新記事</div> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796639331.html">NullPointerException とは何ですか?どのように修正すればよいですか?</a> </div> <div>2024-10-22 09:46:29</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796629482.html">初心者からプログラマーへ: 旅は C の基礎から始まります</a> </div> <div>2024-10-13 13:53:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796628545.html">PHP による Web 開発のロックを解除する: 初心者ガイド</a> </div> <div>2024-10-12 12:15:51</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796627928.html">C の謎を解く: 新人プログラマーのための明確でシンプルな道</a> </div> <div>2024-10-11 22:47:31</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796627806.html">コーディングの可能性を解き放つ: まったくの初心者のための C プログラミング</a> </div> <div>2024-10-11 19:36:51</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796627670.html">内なるプログラマーを解き放つ: まったくの初心者のための C</a> </div> <div>2024-10-11 15:50:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796627643.html">C で生活を自動化する: 初心者向けのスクリプトとツール</a> </div> <div>2024-10-11 15:07:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796627620.html">PHP を簡単に: Web 開発の最初のステップ</a> </div> <div>2024-10-11 14:21:21</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796627574.html">Python で何でも構築: 創造性を解き放つための初心者ガイド</a> </div> <div>2024-10-11 12:59:11</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/ja/faq/1796627539.html">コーディングの鍵: 初心者のための Python の力を解き放つ</a> </div> <div>2024-10-11 12:17:31</div> </li> </ul> </div> <div class="wzconZzwz"> <div class="wzconZzwztitle">最新の問題</div> <div class="wdsyContent"> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ja/wenda/.html" target="_blank" title="JavaScriptのフック関数とは何ですか?" class="wdcdcTitle">JavaScriptのフック関数とは何ですか?</a> <a href="https://www.php.cn/ja/wenda/.html" class="wdcdcCons"></a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> から 1970-01-01 08:00:00</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>0</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ja/wenda/.html" target="_blank" title="JavaScriptで点と円の位置関係を実現する方法" class="wdcdcTitle">JavaScriptで点と円の位置関係を実現する方法</a> <a href="https://www.php.cn/ja/wenda/.html" class="wdcdcCons"></a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> から 1970-01-01 08:00:00</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>0</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ja/wenda/.html" target="_blank" title="javascript - console.log(["2","3"].push("1")) 結果が 3 になるのはなぜですか" class="wdcdcTitle">javascript - console.log(["2","3"].push("1")) 結果が 3 になるのはなぜですか</a> <a href="https://www.php.cn/ja/wenda/.html" class="wdcdcCons"></a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> から 1970-01-01 08:00:00</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>0</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ja/wenda/.html" target="_blank" title="JavaScript ガベージ コレクションとは何ですか?" class="wdcdcTitle">JavaScript ガベージ コレクションとは何ですか?</a> <a href="https://www.php.cn/ja/wenda/.html" class="wdcdcCons"></a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> から 1970-01-01 08:00:00</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>0</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ja/wenda/.html" target="_blank" title="Javascript で乱数ジェネレーターをシードする" class="wdcdcTitle">Javascript で乱数ジェネレーターをシードする</a> <a href="https://www.php.cn/ja/wenda/.html" class="wdcdcCons"></a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> から 1970-01-01 08:00:00</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>0</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> </div> </div> <div class="wzconZt" > <div class="wzczt-title"> <div>関連トピック</div> <a href="https://www.php.cn/ja/faq/zt" target="_blank">詳細> </a> </div> <div class="wzcttlist"> <ul> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/jsszcd"><img src="https://img.php.cn/upload/subject/202407/22/2024072214415543594.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="配列の長さを取得するjsメソッド" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/jsszcd" class="title-a-spanl" title="配列の長さを取得するjsメソッド"><span>配列の長さを取得するjsメソッド</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/jssxym"><img src="https://img.php.cn/upload/subject/202407/22/2024072214363232433.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="jsで現在のページを更新する" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/jssxym" class="title-a-spanl" title="jsで現在のページを更新する"><span>jsで現在のページを更新する</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/jssswr"><img src="https://img.php.cn/upload/subject/202407/22/2024072214362363697.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="jsの丸め" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/jssswr" class="title-a-spanl" title="jsの丸め"><span>jsの丸め</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/jsscjddff"><img src="https://img.php.cn/upload/subject/202407/22/2024072214115932190.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="ノードを削除するjsメソッド" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/jsscjddff" class="title-a-spanl" title="ノードを削除するjsメソッド"><span>ノードを削除するjsメソッド</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/javascriptzy"><img src="https://img.php.cn/upload/subject/202407/22/2024072214114396768.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="JavaScript エスケープ文字" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/javascriptzy" class="title-a-spanl" title="JavaScript エスケープ文字"><span>JavaScript エスケープ文字</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/jsscsjsdff"><img src="https://img.php.cn/upload/subject/202407/22/2024072214113439427.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="jsで乱数を生成する方法" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/jsscsjsdff" class="title-a-spanl" title="jsで乱数を生成する方法"><span>jsで乱数を生成する方法</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/rhqyjavascrip"><img src="https://img.php.cn/upload/subject/202407/22/2024072214085281458.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="JavaScriptを有効にする方法" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/rhqyjavascrip" class="title-a-spanl" title="JavaScriptを有効にする方法"><span>JavaScriptを有効にする方法</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ja/faq/jssymbol"><img src="https://img.php.cn/upload/subject/202407/22/2024072214060282401.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="JSのSymbolクラスの詳細説明" /> </a> <a target="_blank" href="https://www.php.cn/ja/faq/jssymbol" class="title-a-spanl" title="JSのSymbolクラスの詳細説明"><span>JSのSymbolクラスの詳細説明</span> </a> </li> </ul> </div> </div> </div> </div> <div class="phpwzright"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5902227090019525" data-ad-slot="3653428331" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzrOne"> <div class="wzroTitle">人気のおすすめ</div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="jsはどういう意味ですか" href="https://www.php.cn/ja/faq/482163.html">jsはどういう意味ですか</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="jsで文字列を配列に変換するにはどうすればよいですか?" href="https://www.php.cn/ja/faq/461802.html">jsで文字列を配列に変換するにはどうすればよいですか?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="JavaScriptを使用してページを更新する方法" href="https://www.php.cn/ja/faq/473330.html">JavaScriptを使用してページを更新する方法</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="js配列内の項目を削除する方法" href="https://www.php.cn/ja/faq/475790.html">js配列内の項目を削除する方法</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="sqrt関数の使い方" href="https://www.php.cn/ja/faq/415276.html">sqrt関数の使い方</a> </div> </li> </ul> </div> </div> <script src="https://sw.php.cn/hezuo/cac1399ab368127f9b113b14eb3316d0.js" type="text/javascript"></script> <div class="wzrThree"> <div class="wzrthree-title"> <div>人気のチュートリアル</div> <a target="_blank" href="https://www.php.cn/ja/course.html">詳細> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">関連するチュートリアル <div></div></div> <div class="tabdiv swiper-slide" data-id="two">人気のおすすめ<div></div></div> <div class="tabdiv swiper-slide" data-id="three">最新のコース<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="https://www.php.cn/ja/course/812.html" title="最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)" href="https://www.php.cn/ja/course/812.html">最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)</a> <div class="wzrthreerb"> <div>1432304 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/74.html" title="PHP 入門チュートリアル 1: 1 週間で PHP を学ぶ" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="PHP 入門チュートリアル 1: 1 週間で PHP を学ぶ"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PHP 入門チュートリアル 1: 1 週間で PHP を学ぶ" href="https://www.php.cn/ja/course/74.html">PHP 入門チュートリアル 1: 1 週間で PHP を学ぶ</a> <div class="wzrthreerb"> <div>4287382 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="74"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/286.html" title="JAVA 初心者向けビデオチュートリアル" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初心者向けビデオチュートリアル"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初心者向けビデオチュートリアル" href="https://www.php.cn/ja/course/286.html">JAVA 初心者向けビデオチュートリアル</a> <div class="wzrthreerb"> <div>2620252 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/504.html" title="Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル" href="https://www.php.cn/ja/course/504.html">Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル</a> <div class="wzrthreerb"> <div>513529 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/2.html" title="PHP ゼロベースの入門チュートリアル" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253de27bc161468.png" alt="PHP ゼロベースの入門チュートリアル"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PHP ゼロベースの入門チュートリアル" href="https://www.php.cn/ja/course/2.html">PHP ゼロベースの入門チュートリアル</a> <div class="wzrthreerb"> <div>872592 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="2"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/ja/course/812.html" title="最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)" href="https://www.php.cn/ja/course/812.html">最新の ThinkPHP 5.1 ワールドプレミアビデオチュートリアル (PHP エキスパートになるための 60 日間のオンライン トレーニング コース)</a> <div class="wzrthreerb"> <div >1432304 回の学習</div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/286.html" title="JAVA 初心者向けビデオチュートリアル" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初心者向けビデオチュートリアル"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初心者向けビデオチュートリアル" href="https://www.php.cn/ja/course/286.html">JAVA 初心者向けビデオチュートリアル</a> <div class="wzrthreerb"> <div >2620252 回の学習</div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/504.html" title="Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル" href="https://www.php.cn/ja/course/504.html">Little Turtle のゼロベースの Python 学習入門ビデオ チュートリアル</a> <div class="wzrthreerb"> <div >513529 回の学習</div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/901.html" title="Web フロントエンド開発の簡単な紹介" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Web フロントエンド開発の簡単な紹介"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Web フロントエンド開発の簡単な紹介" href="https://www.php.cn/ja/course/901.html">Web フロントエンド開発の簡単な紹介</a> <div class="wzrthreerb"> <div >216677 回の学習</div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/234.html" title="PSビデオチュートリアルをゼロからマスターする" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="PSビデオチュートリアルをゼロからマスターする"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PSビデオチュートリアルをゼロからマスターする" href="https://www.php.cn/ja/course/234.html">PSビデオチュートリアルをゼロからマスターする</a> <div class="wzrthreerb"> <div >910900 回の学習</div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/ja/course/1648.html" title="[Web フロントエンド] Node.js クイック スタート" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="[Web フロントエンド] Node.js クイック スタート"/> </a> <div class="wzrthree-right"> <a target="_blank" title="[Web フロントエンド] Node.js クイック スタート" href="https://www.php.cn/ja/course/1648.html">[Web フロントエンド] Node.js クイック スタート</a> <div class="wzrthreerb"> <div >8901 回の学習</div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/1647.html" title="海外のWeb開発フルスタックコースの完全なコレクション" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="海外のWeb開発フルスタックコースの完全なコレクション"/> </a> <div class="wzrthree-right"> <a target="_blank" title="海外のWeb開発フルスタックコースの完全なコレクション" href="https://www.php.cn/ja/course/1647.html">海外のWeb開発フルスタックコースの完全なコレクション</a> <div class="wzrthreerb"> <div >7140 回の学習</div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/1646.html" title="Go言語実践GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Go言語実践GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Go言語実践GraphQL" href="https://www.php.cn/ja/course/1646.html">Go言語実践GraphQL</a> <div class="wzrthreerb"> <div >6071 回の学習</div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/1645.html" title="550W ファンマスターが JavaScript をゼロから段階的に学習します" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="550W ファンマスターが JavaScript をゼロから段階的に学習します"/> </a> <div class="wzrthree-right"> <a target="_blank" title="550W ファンマスターが JavaScript をゼロから段階的に学習します" href="https://www.php.cn/ja/course/1645.html">550W ファンマスターが JavaScript をゼロから段階的に学習します</a> <div class="wzrthreerb"> <div >785 回の学習</div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ja/course/1644.html" title="Python マスター Mosh、基礎知識ゼロの初心者でも 6 時間で始められる" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="Python マスター Mosh、基礎知識ゼロの初心者でも 6 時間で始められる"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Python マスター Mosh、基礎知識ゼロの初心者でも 6 時間で始められる" href="https://www.php.cn/ja/course/1644.html">Python マスター Mosh、基礎知識ゼロの初心者でも 6 時間で始められる</a> <div class="wzrthreerb"> <div >30268 回の学習</div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>最新のダウンロード</div> <a href="https://www.php.cn/ja/xiazai">詳細> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">ウェブエフェクト <div></div></div> <div class="swiper-slide" data-id="twof">公式サイト<div></div></div> <div class="swiper-slide" data-id="threef">サイト素材<div></div></div> <div class="swiper-slide" data-id="fourf">フロントエンドテンプレート<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery エンタープライズ メッセージ フォームの連絡先コード" href="https://www.php.cn/ja/toolset/js-special-effects/8071">[フォームボタン] jQuery エンタープライズ メッセージ フォームの連絡先コード</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 MP3 オルゴール再生効果" href="https://www.php.cn/ja/toolset/js-special-effects/8070">[プレイヤーの特殊効果] HTML5 MP3 オルゴール再生効果</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 クールなパーティクル アニメーション ナビゲーション メニューの特殊効果" href="https://www.php.cn/ja/toolset/js-special-effects/8069">[メニューナビゲーション] HTML5 クールなパーティクル アニメーション ナビゲーション メニューの特殊効果</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery ビジュアル フォームのドラッグ アンド ドロップ編集コード" href="https://www.php.cn/ja/toolset/js-special-effects/8068">[フォームボタン] jQuery ビジュアル フォームのドラッグ アンド ドロップ編集コード</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="VUE.JS 模倣 Kugou 音楽プレーヤー コード" href="https://www.php.cn/ja/toolset/js-special-effects/8067">[プレイヤーの特殊効果] VUE.JS 模倣 Kugou 音楽プレーヤー コード</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="古典的な HTML5 プッシュ ボックス ゲーム" href="https://www.php.cn/ja/toolset/js-special-effects/8066">[html5特殊効果] 古典的な HTML5 プッシュ ボックス ゲーム</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="画像効果を追加または削減するための jQuery スクロール" href="https://www.php.cn/ja/toolset/js-special-effects/8065">[画像の特殊効果] 画像効果を追加または削減するための jQuery スクロール</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="CSS3 個人アルバム カバー ホバー ズーム効果" href="https://www.php.cn/ja/toolset/js-special-effects/8064">[フォトアルバム効果] CSS3 個人アルバム カバー ホバー ズーム効果</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8328" title="室内装飾クリーニングおよび修理サービス会社のウェブサイトのテンプレート" target="_blank">[フロントエンドテンプレート] 室内装飾クリーニングおよび修理サービス会社のウェブサイトのテンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8327" title="フレッシュカラーの個人履歴書ガイドページテンプレート" target="_blank">[フロントエンドテンプレート] フレッシュカラーの個人履歴書ガイドページテンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8326" title="デザイナーのクリエイティブな仕事の履歴書 Web テンプレート" target="_blank">[フロントエンドテンプレート] デザイナーのクリエイティブな仕事の履歴書 Web テンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8325" title="現代のエンジニアリング建設会社のウェブサイトのテンプレート" target="_blank">[フロントエンドテンプレート] 現代のエンジニアリング建設会社のウェブサイトのテンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8324" title="教育サービス機関向けのレスポンシブ HTML5 テンプレート" target="_blank">[フロントエンドテンプレート] 教育サービス機関向けのレスポンシブ HTML5 テンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8323" title="オンライン電子書籍ストア モールのウェブサイト テンプレート" target="_blank">[フロントエンドテンプレート] オンライン電子書籍ストア モールのウェブサイト テンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8322" title="IT テクノロジーがインターネット企業の Web サイト テンプレートを解決します" target="_blank">[フロントエンドテンプレート] IT テクノロジーがインターネット企業の Web サイト テンプレートを解決します</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8321" title="パープルスタイル外国為替取引サービスウェブサイトテンプレート" target="_blank">[フロントエンドテンプレート] パープルスタイル外国為替取引サービスウェブサイトテンプレート</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3078" target="_blank" title="かわいい夏の要素のベクター素材 (EPS+PNG)">[PNG素材] かわいい夏の要素のベクター素材 (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3077" target="_blank" title="4 つの赤い 2023 卒業バッジ ベクター素材 (AI+EPS+PNG)">[PNG素材] 4 つの赤い 2023 卒業バッジ ベクター素材 (AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3076" target="_blank" title="歌う鳥と花がいっぱいのカートデザイン春のバナーベクター素材(AI+EPS)">[バナー画像] 歌う鳥と花がいっぱいのカートデザイン春のバナーベクター素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3075" target="_blank" title="金色の卒業帽ベクター素材(EPS+PNG)">[PNG素材] 金色の卒業帽ベクター素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3074" target="_blank" title="黒と白のスタイルの山アイコン ベクター素材 (EPS+PNG)">[PNG素材] 黒と白のスタイルの山アイコン ベクター素材 (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3073" target="_blank" title="異なる色のマントと異なるポーズを持つスーパーヒーローのシルエットベクター素材(EPS+PNG)">[PNG素材] 異なる色のマントと異なるポーズを持つスーパーヒーローのシルエットベクター素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3072" target="_blank" title="フラット スタイルの植樹祭バナー ベクター素材 (AI+EPS)">[バナー画像] フラット スタイルの植樹祭バナー ベクター素材 (AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-materials/3071" target="_blank" title="9つのコミックスタイルの爆発するチャットバブルベクター素材(EPS+PNG)">[PNG素材] 9つのコミックスタイルの爆発するチャットバブルベクター素材(EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8328" target="_blank" title="室内装飾クリーニングおよび修理サービス会社のウェブサイトのテンプレート">[フロントエンドテンプレート] 室内装飾クリーニングおよび修理サービス会社のウェブサイトのテンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8327" target="_blank" title="フレッシュカラーの個人履歴書ガイドページテンプレート">[フロントエンドテンプレート] フレッシュカラーの個人履歴書ガイドページテンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8326" target="_blank" title="デザイナーのクリエイティブな仕事の履歴書 Web テンプレート">[フロントエンドテンプレート] デザイナーのクリエイティブな仕事の履歴書 Web テンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8325" target="_blank" title="現代のエンジニアリング建設会社のウェブサイトのテンプレート">[フロントエンドテンプレート] 現代のエンジニアリング建設会社のウェブサイトのテンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8324" target="_blank" title="教育サービス機関向けのレスポンシブ HTML5 テンプレート">[フロントエンドテンプレート] 教育サービス機関向けのレスポンシブ HTML5 テンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8323" target="_blank" title="オンライン電子書籍ストア モールのウェブサイト テンプレート">[フロントエンドテンプレート] オンライン電子書籍ストア モールのウェブサイト テンプレート</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8322" target="_blank" title="IT テクノロジーがインターネット企業の Web サイト テンプレートを解決します">[フロントエンドテンプレート] IT テクノロジーがインターネット企業の Web サイト テンプレートを解決します</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ja/toolset/website-source-code/8321" target="_blank" title="パープルスタイル外国為替取引サービスウェブサイトテンプレート">[フロントエンドテンプレート] パープルスタイル外国為替取引サービスウェブサイトテンプレート</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> <footer> <div class="footer"> <div class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!</p> </div> <div class="footermid"> <a href="https://www.php.cn/ja/about/us.html">私たちについて</a> <a href="https://www.php.cn/ja/about/disclaimer.html">免責事項</a> <a href="https://www.php.cn/ja/update/article_0_1.html">Sitemap</a> </div> <div class="footerbottom"> <p> © php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1739146514"></script> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script> <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all'/> <script type='text/javascript' src='/static/js/viewer.min.js?1'></script> <script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script> <script type="text/javascript" src="/static/js/global.min.js?5.5.53"></script> <!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code --> </body> </html>