<li class="active">Menu1
<ul id="first" value="">
<li value="10">Whatever</li>
<li value="15">Whatever</li>
<li value="20">Whatever</li>
</ul>
</li>
<li>Menu2
<ul id="second" value="">
<li value="30">Whatever</li>
<li value="35">Whatever</li>
<li value="40">Whatever</li>
</ul>
</li>
好的那就是HTML,所以现在让我看看我是否可以描述我想要的行为。
每个<li>
value
都可以点击。单击li
后,我希望它将父<ul>
(最初为空value
}设置为value
<li>
的任何内容被点击了。基本上尝试并模仿select
框的行为,因为无论如何CSS都是这些元素的样式。
答案 0 :(得分:2)
这应该有效:
$('li > ul > li').click(function(){
$(this).parent().attr('value',$(this).attr('value'));
});
我们在所有内部li元素上设置了一个click事件,然后,当单击时,我们设置一个父元素的属性“value”,其中“click”元素的值为
答案 1 :(得分:1)
$('ul > li').click(function() {
$(this).parent().attr('value',$(this).attr('value'));
});
答案 2 :(得分:1)
value
不是UL
的有效属性,已从LI
弃用。话虽如此,这里是如何处理LI的点击事件并获得父UL:
$('li').click(function() {
var clickedLI = $(this);
var parentUL = $(this).parent();
});
答案 3 :(得分:0)
in handler:
$(this).parent().attr("value", $(this).attr("value"))
答案 4 :(得分:0)
试试这个:
$('ul > li[value]').click(function () {
$(this).closest('ul').attr('value', this.value);
});