请参阅以下代码:
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”来识别它。如何编码并调用ul“下拉列表”中的<li>
标签,并传递文本?
我在想
$("li").click(function () {
$("li").val(this.text);
});
我知道这是非常错的,我的理由是我还在学习阶段。
--- ANSWER
$("ul.dropdown li > a").click(function () {
var old_text = $(this).text();
liReplace(old_text);
});
答案 0 :(得分:3)
这样的事情应该有效:
$(".dropdown .sub_menu ul li").on("click", function() {
$("#srch > a").text($(this).text());
});
答案 1 :(得分:2)
尝试 -
<li title='DVD'><a href="#" >DVD</a></li>
$("li").click(function () {
$(this).find('a').text($(this).attr('title'));
});
答案 2 :(得分:2)
function liReplace(txt) {
$('#srch > a').text(txt);
}
$("li a").click(function () {
var old_text = $(this).text();
liReplace(old_text);
});
答案 3 :(得分:2)
你可以像这样选择带有ul类名的li
$('ul[class="dropdown"] li').click(function () {
$(this).find('a').text($(this).attr('title'));
});
答案 4 :(得分:2)
使用
$('li').live('click', function(){
$('#srch > a').text($(this).text());
});
或
$('li').click(function (){
$('#srch > a').text($(this).text());
});