2011-07-17 11 views
1

入力クラスのそれぞれに.keyup()がある場合、 'class = "auto_box" - >タグb'で属性クラスを取得する方法は?keyupが入力されているときに属性を取得する

キーアップがオンの場合は '.searchホテルの入力'が表示されます。
keyupがオンの場合、 '.guide_search input'私にclasse guide_searchを与えます。

HTML

<div class="auto_box"> 
    <b class="search_hotel"> 
    <span></span>  
    <div class="mediumCell"><input type="text" style="border: none; float: right;" alt="<?= base_url();?>admin/" id="tour" class="auto_complete" name="search_hotel" placeholder="هتل" title="هتل" /></div> 
    <ul class="list_autobox_hotel"></ul> 
    </b> 
</div> 
<div class="auto_box"> 
    <b class="guide_search"> 
    <span></span> 
    <div class="mediumCell"><input type="text" style="border: none; float: right;" alt="<?= base_url();?>admin/" id="tour" class="auto_complete" name="guide_search" placeholder="راهنما" title="ارلاین"></div> 
    <ul class="list_autobox_guide"></ul> 
    </b> 
</div> 

JS:

$('.auto_complete').keyup(function() { 
     var specific = '.' + $('.auto_box b').attr('class'); 
}); 

これは入力の上からkeyupあるときにのみ、属性クラスのsearch_hotelを取得し、属性クラスのguide_searchを得ていないJS。

+0

'$( '。auto_box b')'はこのセレクタと一致するすべての要素を検索します。 '.attr( 'class')'はあなたにこの集合の最初の要素のクラスを与えます。フォーカスがある入力フィールドにセレクタ* relative *を設定する必要があります。 –

答えて

1

私は、あなたが探していることだと思い

$('.auto_complete').keyup(function() { 
     var specific = '.' + $(this).closest('div.auto_box').find('b').attr('class'); 
}); 

、あなたが知っておくべき一つのことは、<b><div>要素をネストすることは無効なマークアップであるということです。 <b>要素にはインラインコンテンツのみが含まれ、ブロックレベルの要素には<div>または<ul>の要素は含まれていません。

+0

私は、 '.auto_box b'というタグのクラスを取得したいと思いますが、.auto_completeはありません。 – user846198

+0

はい申し訳ありません - 私は答えを編集しました。 – Pointy

+0

ありがとうございました、これは – user846198

関連する問題