2012-04-20 5 views
0

クリック中の要素内の特定のデータを見つけて、そのデータを変数に書き込むことは可能ですか?(jQuery + Mobile)変数に書き込むdivのターゲットデータ

例えば、私は「#dataviewer」にナビゲートクラスの要素「データソース」で、リストを持っている:

<ul> 
    <li class="datasource"> 
     <a href="#dataviewer" >Get this data</a> 
    </li> 
</ul> 

私はこのようなものを使用して、その特定のリストの要素をターゲットにすることができます知っている:

$(".datasource").click(function() { 
     alert("Click!"); 
}); 

...「#datasource」ページでそのデータを使用するには、「Get this data」を取得して変数に書き込むことはできますか?

多くのありがとうございます。

答えて

1

「このデータを取得する」は.html()機能で取得できます。次のためにアラートを切り替えます

alert($("a").html()); 

あなたは明らかにあなたがあなたのページの残りの部分に基づいて、「A」の要素を検索するように選択することができます。

ちょうどこのように、出力を格納し、変数に値を格納するには、次の

// Probably not exactly what you want when there are many "a"nchor tags on a page. 
var contentsOfElement = $("a").html(); 
// More selective based on an ID 
var contentsOfElement = $("#oneParticularID").html(); 
// Then you can write that text, store it, or whatever you'd like 

テンプレートとしてあなたのコードを使用して、私はこのrunning exampleを作成しました。

The documentation.html()です。

このようなリストビューで
+0

それだけで「送信」警告するのでうーん...何かを好きにいないようです私がアラートをするとき($( "a").html());それを変数に渡して変数に警告すると、同じことが言われます – Squishy

+0

@Squishy;あなたはあなたのセレクターにもっと特定する必要があります。 $( "a")はページ上のすべてのアンカーをキャプチャします。これは、ページに「a」が1つしかない場合の例です。 idで要素を見つける方法については、私の編集した答えを見てください。あなたのアンカーに '' – veeTrain

+0

のようなIDを付けるようにしてください、助けてくれてありがとう! @Squishy; – Squishy

1

:あなたはこのようにクリックハンドラを使用することができ

<div data-role="page"> 
<ul data-role="listview"> 
    <li class="datasource"> 
     <a href="#dataviewer" >Row A</a> 
    </li> 
    <li class="datasource"> 
     <a href="#dataviewer" >Row B</a> 
    </li> 

</ul> 
</div>​​​​​​​ 

​$(".datasource").click (function() { 
    alert($(this).find('a').first().html()); 
});​​​​​ 
+0

.first()は最初のクリックでのみデータを取得しますが、その後は何も取得しませんか? – Squishy

+0

'find( 'a')'は配列を返します。 'first()'は配列の最初のエントリを取得します。 – Ryan

+0

このjsFiddleのデモを見てください:http://jsfiddle.net/RweVJ/ – Ryan

関連する問題