2016-03-19 1 views
0

この質問は、ブラウザ間の互換性があるかどうかを確認するためのもので、 2例:jqueryはプログラム的に正しいです。要素を削除した後に属性を取得します。

var rel = $(this).closest("tr").remove().attr("rel"); 

または

var $deltr = $(this).closest("tr").remove(); 
// code using $deltr to store it 
var rel = $deltr.attr("rel"); 

感謝。

+0

質問は何ですか?その要素が文書から削除された後に、その要素の属性を変数として保存していますか?予想される結果は返されませんか? – guest271314

+0

2つ目のアプローチで複数行を使用する以外は、これらの2つのアプローチの違いは何ですか? – stjepano

答えて

1

かかわらず一緒に使用することはできません。このケースでは、ATTRを取得することはできません。

remove()dになると、要素はDOMに存在しなくなり、(変数に割り当てられていても)復元できなくなり、その属性を調べることができなくなります。

jQuery 1.4では、detach() methodは、DOMから要素を削除するために作成されましたが、復元のために利用可能なままです。しかし、remove()ではありません。

This jsFiddleを使用すると、要素を削除する前後にrel属性を取得することができます。

rel=はアンカー<a>タグnot of a table trの属性ですが、私はあなたが何をしているかを知っていることを前提としています。

0

私が間違っている可能性がある場合は私を修正してください。

私はあなたが...このアプローチの違い何このアプローチ対

var rel = $(this).closest("tr").remove().attr("rel"); 

を求めている理解して何から?

var $deltr = $(this).closest("tr").remove(); 
// code using $deltr to store it 
var rel = $deltr.attr("rel"); 

2人の違いは、誰がコーディングするかによって異なります。変数のポイントは、それを複数回呼び出すのではなく、より大きな文字列、メソッド関数などを格納する方が簡単です。

あなたが ASI (Automatic Semicolon Insertion)に見て見ることができるほか

(あなたが読みたくない場合はすることができますwatch this video代わりに)

2間の唯一の違いは、誰もが持っているどのようにユーザーがアプリケーションをコーディングさに依存

その自分のスタイル。要素が削除された後$deltrrelとともに、アプリケーション全体で使用されるだろう、彼らはいつも私の理解に

var $deltr = $(this).closest("tr").remove(); 
// code using $deltr to store it 
var rel = $deltr.attr("rel"); 
関連する問題