2011-10-17 13 views
0

タイトルが十分明確であるかどうかわかりません。私は本質的にdivを次のようなJavascriptオブジェクトとして保存しています。[div#field_30.checkbox_group]Javascript - JavascriptオブジェクトからオブジェクトIDを抽出する

field_30はここで抽出しようとしているIDです。 object.idのようなことをしていません。 IDを取得する方法を誰かが知っていますか?

注:ワークスペースと呼ばれるオブジェクトの中で現在選択されているdivを取得するvar object = $(".workspace .selected");のようにオブジェクトを保存しました。申し訳ありませんこれはルーキーミスです、私はちょうどどこでも何かを見つけるように見えることはできません。助けをありがとう...

答えて

2

var object = $(".workspace .selected");は、jQueryのプロパティとメソッドではなく、要素のプロパティとメソッドを持つjQueryラップされた要素を返します。つまり、

object[0].id 
object.prop("id") 
object.attr("id") 

のいずれかが機能するはずですが、第1のオプションはパフォーマンスに最も適しているはずです。あなたのdivであるjQueryオブジェクトに含まれる最初の要素のidプロパティを取得します。

+1

ありがとうございます。私がそれに必要なものを正確にした。 – gabaum10

0

あなたのオブジェクトは実際にはdomオブジェクトではなくjQueryオブジェクトです。あなたが使用することができます

DOMオブジェクトの使用を使用するには、

object[0].id 

または使用して、jqueryの、(それがすでにあるので)

object.prop('id'); 
0

この場合、objectjQuery selectの結果です。実際のDOMオブジェクトに到達するには、[0]を使用する必要があります。そして、あなたは、私がここに完全な答えが表示されていないので、私は自分自身を提供しますidプロパティ

object[0].id 
0

にアクセスすることができます。

jQueryセレクタ$()を使用している場合は、単一要素ではなく、コレクションがjQueryでラップされます。

(ここでは、jQuery 1.5.2を使用していると仮定します。これは、StackOverflowが現在使用しているものと同じです。セレクタによって返されたすべての要素のid Sを得るために)

  • ユニバーサルソリューションです:のidを取得するには["", "", "", "", ""]

  • .map(function(){ return this.id; }) 
    

    は、現在のページに$(".post-text").map(function(){ return this.id; })を実行するようなものを返します。セレクタが返す最初の要素:

    .attr('id') 
    

    現在のページに$("div").attr('id')を実行すると、"notify-container"が返されます。

    jQuery 1.6以降、.prop('id')も使用できます。

あなたが知っている場合、そのクエリは、唯一の要素を返しますか、あなただけの、その後明らかに簡単な解決策である.attrを使用し、指定したセレクタに一致する最初の要素をしたいです。

関連する問題