0

次のHTMLがある場合

<div class="main">
    <div class="header">

    </div>
    <div class="sub_header">
        <input type="text" class="txtBox" />
    </div>
    <div class="content">

    </div>
    <div class="footer">

    </div>
</div>

出発点として使用して、それに何かを追加できるようにtxtBox、どのように最も近いものを見つけるのですか?content

ここに私が現在持っている完全なスクリプトがある場合:

$(document).ready(function() {
    var myDate = new Date();
    var todaysDate = myDate.getDate() + '/' + (myDate.getMonth()+1) + '/' + myDate.getFullYear();

    get_data( todaysDate );

    $(".txtBox").val(todaysDate).datepicker( {
        changeMonth: true,
        changeYear: true,
        yearRange: "+0:+1",
        showButtonPanel: false,
        dateFormat: "d/mm/yy",
        onSelect: function(dateText, obj){
            get_data( $(this), dateText );
        }
    } );

    function get_data( that, dateText ) {

        if ( typeof that != "undefined" )
        {
            that.closest('.main').find('.content').empty().append( dateText );
        }
        else
        {
            $(".content.new").append( dateText ).removeClass('new');
        }

    }

});
4

4 に答える 4

2

jsBin デモ

$('.txtBox').closest('.main').find('.content').text('Hello oshirowanen!');

また:

$('.txtBox').closest('div').next('.content').text('Hello oshirowanen!');

また:

$('.txtBox').parent().next('.content').text('Hello oshirowanen!');
于 2012-11-02T09:45:57.010 に答える
1

divであるテキストボックスの親に移動し、その兄弟を見つける必要があります。

ライブデモ

var content = $('.txtBox').parent().siblings('.content');

指定されたhtmlの構造が一定の場合は、テキストボックスの親の次を使用することもできます。

ライブデモ

var content = $('.txtBox').parent().next('.content');
于 2012-11-02T09:45:38.517 に答える
1
$('.txtBox').parent().next('.content').html('Whatever')
于 2012-11-02T09:51:07.507 に答える
0
$('.content').closest('div').css('background-color', 'red');

これにより、クラス .content の最も近い div の背景色が変更されます

于 2012-11-02T09:47:35.543 に答える