長い間、コードの上に、それよりも、比較的簡単ではないがあるはずです
ページ:
<DIV ID = "testArea">
<SELECTクラス= "SELQ"のonchange = "startchosee(この)">
<オプション値= "1">选择1 </オプション>
<オプション値= "2">选择2 </オプション>
<オプション値= "3">选择3 </オプション>
<オプション値= "4">选择4 </オプション>
<オプション値= "5">选择5 </オプション>
</ select>の
</ div>
JSコントロール:
。VAR thisElement = $( "#のtestArea")HTML();
VAR beforeElement = "";
関数startchosee(OBJ){
場合(確認( "是否改变" + $(OBJ).find( "オプション:選択")HTML())){
}他{
場合(beforeElement = "!"){
$(」 #testArea .selq ")を削除()。
。$( "#testArea")(parseDom(beforeElement))を追加。
}
}
beforeElement = nodeToString(OBJ)。
thisElement = OBJ。
}
jqueryのソースが深い理解欠いているため、2つのコンバータを行う理由としては
DOMに//文字列
関数parseDOM(アルギニン){
VAR OBJE =のdocument.createElement( "DIV");
objE.innerHTML =引数。
objE.childNodesを返します。
};
文字列に// DOMターン
関数nodeToString(ノード){
にconsole.log($(ノード).find( "オプション:選択された"。)のval())
VAR tmpNode =のdocument.createElement( "DIV")。
tmpNode.appendChild(node.cloneNode(真));
$(tmpNode).find( "オプション")、各(関数(){
$(この).ATTR( "選択"、NULL);
});
$(tmpNode).find( "オプション:EQ(" +($(ノード).find( "オプション:選択")のval() - 1)+ ")"。)のattr( "選択"、真の);。
VAR STR = tmpNode.innerHTML。
tmpNode =ノード= NULL; // IEのメモリリークを防ぐため
にconsole.log(文字列)
戻りSTR。
}
メインボロー他の誰かのコード。少し荒いです。。私を許して