<div class="heading">
<ul>
<li id="one">One</li>
<li id="two">Two</li>
</ul>
</div>
我使用这个jquery
<script>
$(document).ready(function(){
$('.heading ul li').click(function(){
var type1 = $('#one').val();
var type2 = $('#two').val();
if(type1) {
alert("1");
} else {
alert("2");
}
});
});
</script>
=&GT;单击一个或两个时出错,结果是2,如何解决?
答案 0 :(得分:2)
if(type1)是什么意思?我想你想检查li的值是否为1然后输入if语句?然后你应该:
$('.heading ul li').click(function(){
var type1 = $('#one').html();
var type2 = $('#two').html();
if($(this).val() == type1) {
alert("1");
} else {
alert("2");
}
});
希望这有帮助:)
(从val编辑为html)
答案 1 :(得分:0)
当你致电.val()
时,它会返回一个字符串。除0
以外的任何字符串都将在if语句中返回true
。但是你有更多的问题。 val
为您提供输入值。列表项没有值属性,因此不起作用。你可能想要检索html。
$('li').click( function() {
var type1 = $('#one').html();
var type2 = $('#two').html();
if (type1 == 'One') { ... }
else { ... }
});
答案 2 :(得分:0)
从jQuery 1.4开始,.text()方法返回text和CDATA节点以及元素节点的值。
这里是jquery text()的链接 http://api.jquery.com/text/
尝试
<script> $(document).ready(function(){
$('.heading ul li').click(function(){
var type1 = $('#one').text();
var type2 = $('#two').text();
if(type1 =="One") {
alert("1");
} else {
alert("2");
}
});
});
</script>