我不使用jquery获得ul的价值

时间:2014-12-11 10:30:29

标签: jquery

我希望使用jQuery获取li ul的值。现在我得到了空值。任何人都可以提出任何建议吗?

<ul>
    <li id="1" onClick="page()">1</li>
    <li id="2" onClick="page()">1</li>
</ul>

<script>
    function page() {
        var sss = $(this).html();
        alert(sss);
    }
</script>

4 个答案:

答案 0 :(得分:4)

您需要将this传递给函数:

<ul>
    <li id="1" onClick="page(this)">1</li>
    <li id="2" onClick="page(this)">1</li>
</ul>
function page(el) {
    var sss = $(el).html();
    alert(sss);
}

或者(最好)你可以使用jQuery本身来附加你的事件:

<ul>
    <li id="1">1</li>
    <li id="2">1</li>
</ul>
$('li').click(function() {
    var sss = $(this).html();
    alert(sss);
});

答案 1 :(得分:1)

您需要传递当前单击的元素对象:

<强> DOM:

<ul>
 <li id="1" onClick="page(this)">1</li>
 <li id="2" onClick="page(this)">1</li>
</ul>

<强> JS:

function page(obj)
{
 var sss=$(obj).html();
 alert(sss);
}

<强> Working Demo

答案 2 :(得分:0)

<ul id="theList">
    <li>1</li>
    <li>2</li>
</ul>

<script>
$(function(){
    $('#theList li').click(function(){
        alert($(this).html());
    });
});
</script>

对于更多jquery包含的方法

答案 3 :(得分:0)

不要将jQuery与基于属性的onclick处理程序混合使用。您将事件处理程序与事件注册分开,没有任何好处(使维护页面变得更加困难)。 jQuery方法还支持多个处理程序,即使对于相同的事件,也支持相同的元素。

这样做:

<li id="1">1</li>
<li id="2">2</li>

,代码变为

$('li').click(function(){
   var sss = $(this).html();
    alert(html)
});