在dropdwon菜单中发出针对特定选择器jquery的问题
Issue targeting specific selector jquery in dropdwon menu
我有一个带有jquery的下拉菜单,我想根据下拉菜单中选择的内容以不同的方式修改一些文本。
下拉菜单有效。
Html代码:
<div>
<ul class="myMenu">
<li><a href="#">Choose your location</a>
<ul>
<li id="op1"><a href="#Co">option1</a></li>
<li id="op2"><a href="#Nk">option2</a></li>
<li id="op2"><a href="#So">option3</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h1 id="text_to_change">Welcome to blabla</h1>
</div>
Javascript代码:
$(document).ready(function() {
$('.myMenu li ul li').click( function(event){
$(document).find('#text_to_change').css('visibility', 'visible');
$('.myMenu').hide();
if ($(this) == '#op1'){
$('#text_to_change').text("text changed");
}
if ($(this) == '#op2'){
$('#text_to_change').text("text changed differently");
}
else{
$('#text_to_change').text("text changed differently again");
}
});
});
为什么($(this) == '#op1')
不起作用?
您正在尝试将jquery对象$(this)
与字符串#op1
进行比较
要获取元素的id,请使用:
$(this).attr('id');
它将为您提供没有#
的元素的id
此外,我认为你的第二个如果需要是else if { ...
$(document).ready(function() {
$('.myMenu li ul li').click( function(event){
console.log($(this).attr('id'), $(this).prop('id'));
$(document).find('#text_to_change').css('visibility', 'visible');
$('.myMenu').hide();
if ($(this).attr('id') == 'op1'){
$('#text_to_change').text("text changed");
}
else if ($(this).attr('id') == 'op2'){
$('#text_to_change').text("text changed differently");
}
else{
$('#text_to_change').text("text changed differently again");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div>
<ul class="myMenu">
<li><a href="#">Choose your location</a>
<ul>
<li id="op1"><a href="#Co">option1</a></li>
<li id="op2"><a href="#Nk">option2</a></li>
<li id="op2"><a href="#So">option3</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h1 id="text_to_change">Welcome to blabla</h1>
</div>
这两个项目不能共享相同的id"op2"
<li id="op2"><a href="#Nk">option2</a></li>
<li id="op2"><a href="#So">option3</a></li>
相关文章:
- 在dropdwon菜单中发出针对特定选择器jquery的问题
- 周/年选择器jQuery插件
- DOM元素的属性因选择器-jQuery而异
- 如何使用日期选择器jquery突出显示特定日期
- 如何仅使用日期选择器 Jquery 启用月份的最后几天
- 如何在日期选择器 jquery 的 Select 事件上调用 js 函数
- 如何指定多个选择器 jquery
- 在日期选择器 jQuery 中查看可用日期
- 将其与伪选择器 jquery 一起使用
- 如何将东部标准时间设置为日期选择器 (jquery ui) - 使用 javascript
- 请帮助我添加日期选择器(Jquery Ui)
- 使用缓存选择器(jQuery)选择子元素
- 选择器Jquery中的选择器
- 如何将日期选择器jquery插件添加到bootstrab
- 如何在一个选择器jQuery中显示和隐藏多个元素
- 父选择器Jquery
- 如何使用angularjs在页面加载中调用日期选择器Jquery插件
- 逆选择器jQuery
- IE中的圆角,长选择器?(jquery)
- 如何禁用和启用日期时间选择器jquery插件