在键盘输入时获取属性标记

时间:2011-07-17 13:40:40

标签: javascript attributes jquery attr

如何在'class =“auto_box”中获取属性类 - >标签b',当.keyup()在每个输入上时?

如果keyup在'.search hotel input'给我classe搜索酒店。
如果keyup在'.guide_search输入',请给我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');
});

这个js只获取属性类search_hotel而没有得到属性类guide_search,当输入它时是keyup。

1 个答案:

答案 0 :(得分:1)

认为您正在寻找的是:

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

现在,您应该知道的一件事是在<div>内嵌套<b>元素是无效的标记; <b>元素应仅包含内联内容,而不包含<div><ul>等块级元素。