1

次のコードを参照してください。

function liReplace(txt) {
    $('#srch > a').text(txt);
}


<ul class="dropdown">
    <li id='srch'>
        <a href="#">All Categories</a>
        <ul class="sub_menu">
            <li>
                <a href="#">Gadgets</a>
                <ul>
                    <li onclick='liReplace("DVD")'><a href="#" >DVD</a></li>
                    <li><a href="#">XBOX</a></li>
                    <li><a href="#">Ps2</a></li>
                    <li><a href="#">Cellphone</a></li>
                </ul>
            </li>
            <li>
                <a href="#">Locations</a>
                <ul>
                    <li><a href="#">Indoor</a></li>
                    <li><a href="#">Outdoor</a></li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

onclick='liReplace("DVD")'コードを削除してjqueryに変更したかったのです。

class="dropdown" を使用して識別できます。<li>そのul「ドロップダウン」内のタグのクリックをコーディングして呼び出し、テキストを渡すにはどうすればよいですか?

のように考えていた

$("li").click(function () {
    $("li").val(this.text);

});

私はそれが非常に間違っていることを知っています.私の言い訳は、私がまだ学習段階にあるということです.

- -答え

$("ul.dropdown li > a").click(function () {
        var old_text = $(this).text();
        liReplace(old_text);
});
4

5 に答える 5

3

そのようなものはうまくいくはずです:

$(".dropdown .sub_menu ul li").on("click", function() {
    $("#srch > a").text($(this).text());
});
于 2012-09-27T08:59:48.413 に答える
2

使用する

$('li').live('click', function(){
    $('#srch > a').text($(this).text());   
});

また

$('li').click(function (){
    $('#srch > a').text($(this).text());   
});
于 2012-09-27T09:05:15.597 に答える
2

このようなulクラス名でliを選択するだけです

    $('ul[class="dropdown"] li').click(function () {

       $(this).find('a').text($(this).attr('title'));

     });
于 2012-09-27T09:01:55.870 に答える
2

試してみてください -

<li title='DVD'><a href="#" >DVD</a></li>


$("li").click(function () {

    $(this).find('a').text($(this).attr('title'));

});
于 2012-09-27T08:58:41.513 に答える
2
function liReplace(txt) {
    $('#srch > a').text(txt);
}


$("li a").click(function () {
    var old_text = $(this).text();
    liReplace(old_text);
});
于 2012-09-27T08:58:46.143 に答える