0

jQueryMobileのアコーディオンメニューを次のように設定しています。

<div class="subCat" data-role="collapsible">
    <h3>Subcategory Name</h3>
    <div class="itemImg">
        <img alt="Item 1" src="[image location]" /><span>Item 1</span>
    </div>
    <div class="itemImg">
        <img alt="Item 1" src="[image location]" /><span>Item 1</span>
    </div>
</div><!--End of subCat-->

これはいくつかのサブカテゴリに当てはまります。画像がクリックされたときに「サブカテゴリ名」を取得するためのコードが少しあります。

var currCat=$(this).closest('.subCat').children('h3').innerHTML;

「これ」はクリックされた画像であり、「サブカテゴリ名」をcurrCatに取得する必要があります。ただし、現在、children('h3')を選択すると、innerHTMLの「undefined」と「[objectOBJECT]」が表示されます。どんな助けでもいただければ幸いです。

4

6 に答える 6

2

.text()を使用します。

var currCat=$(this).closest('.subCat').children('h3').text();

.html()も使用できますが、どちらでも機能します。

于 2012-05-03T16:22:42.117 に答える
1

試す

$('img').click(function(e) {
    var currCat = $(this).closest('.subCat').children('h3').text();
    e.preventDefault();
});

jsFiddle: http: //jsfiddle.net/zvyjH/

于 2012-05-03T16:25:22.843 に答える
0
var currCat=$(this).closest('.subCat').children('h3').html();
于 2012-05-03T16:22:10.463 に答える
0

試しましたかvar currCat=$(this).closest('.subCat').children('h3').html();

于 2012-05-03T16:23:05.707 に答える
0

あなたが試すことができます:

$('.subCat > h3').text();

また

var currCat=$(this).closest('.subCat > h3').text();
于 2012-05-03T16:23:28.107 に答える
0

jQuery Mobileで覚えておくべきことの1つは、ブラウザーに配信された後、HTMLを使用してかなりの量の再構築を行うことです。たとえば、アコーディオンは、span内にタグのいくつかのレイヤーを挿入しh3ます。FireBugをインストールし、jQuery Mobileが再構築した後、それを使用してHTMLを表示します。また、他の投稿で言及されているように、innerHTMLは実際にはネイティブJavaScriptのプロパティですが、jQueryはとを使用.html().text()ます。

于 2012-05-03T16:35:07.283 に答える