我希望使用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>
答案 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)
});