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 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 回答
2

您可以像这样选择带有 ul 类名的 li

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

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

     });
于 2012-09-27T09:01:55.870 回答
2

采用

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

或者

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