使用jQuery显示单击项目的标题值
Show value on title from clicked item with jQuery
我正在处理一个项目,并面临一个问题。这是一个jQuery问题,我不擅长jQuery。我希望当有人单击列表项(<ul id="res-menu-filters"><li></li></ul>
)时,h3(<h3 id="menu-title-layout-text">Change Value</h3>
)标签上的值将更改为div#菜单扩展标题(<div id="menu-extend-title">Breakfast</div>
)的值。
我尝试了jQuery,但它不起作用。
下面是我的html代码和jQuery代码。
我该怎么做?
提前谢谢。
<div class="menu-title-layout-change">
<h3 id="menu-title-layout-text">Breakfast</h3>
</div>
<ul id="res-menu-filters">
<li class="filter">Category 1
<div id="menu-extend-title">
Breakfast
</div>
</li>
<li class="filter">Category 2
<div id="menu-extend-title">
Launch
</div>
</li>
<li class="filter">Category 3
<div id="menu-extend-title">
Dinner
</div>
</li>
jQuery代码:
jQuery('#restaurant-menu-content-tab').on('click', '#res-menu-filters li', function(e)
{
var value = jQuery('#menu-extend-title').text();
jQuery('#menu-title-layout-text').text(value);
return false;
});
如果使用重复的ids ,请使用公共类
<ul id="res-menu-filters">
<li class="filter">Category 1
<div class="menu-extend-title">
Breakfast
</div>
</li>
<li class="filter">Category 2
<div class="menu-extend-title">
Launch
</div>
</li>
<li class="filter">Category 3
<div class="menu-extend-title">
Dinner
</div>
</li>
jquery
jQuery('#restaurant-menu-content-tab').on('click', '#res-menu-filters li', function(e){
var value = jQuery(this).find('.menu-extend-title').text();
jQuery('#menu-title-layout-text').text(value);
return false;
});
元素的ID必须是唯一的,因此需要使用class对类似的元素进行分组,并且在单击处理程序中,您需要找到title
元素,它是单击的li
的后代
jQuery('#restaurant-menu-content-tab').on('click', '#res-menu-filters li', function(e) {
var value = jQuery(this).find('.menu-extend-title').text();
jQuery('#menu-title-layout-text').text(value);
return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="restaurant-menu-content-tab">
<div class="menu-title-layout-change">
<h3 id="menu-title-layout-text">Breakfast</h3>
</div>
<ul id="res-menu-filters">
<li class="filter">Category 1
<div class="menu-extend-title">Breakfast</div>
</li>
<li class="filter">Category 2
<div class="menu-extend-title">Launch</div>
</li>
<li class="filter">Category 3
<div class="menu-extend-title">Dinner</div>
</li>
</ul>
</div>
由于以下问题,它不起作用:
- HTML
menu-extend-title
是一个ID。对于元素,它应该是唯一的 - 将
menu-extend-title
更改为class并使用.menu-extend-title
-
使用以下代码:
<li class="filter">Category 1 <div class="menu-extend-title"> Breakfast </div> </li> <li class="filter">Category 2 <div class="menu-extend-title"> Launch </div> </li> <li class="filter">Category 3 <div class="menu-extend-title"> Dinner </div> </li> jQuery('#restaurant-menu-content-tab').on('click', '#res-menu-filters li', function(e) { var value = jQuery('.menu-extend-title', this).text(); jQuery(this).find('div').text(value); return false; });
正如arun所指出的,ID应该是唯一的。您应该使用类名。此外,您还可以使用当前li上下文,使用当前单击的上下文在其中获取所需的div,并查找选择器:
jQuery('#restaurant-menu-content-tab').on('click', '#res-menu-filters li', function(e){
var value = jQuery(this).find('div').text();
jQuery('#menu-title-layout-text').text(value);
return false;
});
你的意思是这样的吗:
这里有一个更好的html代码:
<div class="menu-title-layout-change">
<h3 class="menu-title-layout-text">Breakfast</h3>
</div>
<ul class="res-menu-filters">
<li class="filter">Category 1
<div class="menu-extend-title">
Breakfast
</div>
</li>
<li class="filter">Category 2
<div class="menu-extend-title">
Launch
</div>
</li>
<li class="filter">Category 3
<div class="menu-extend-title">
Dinner
</div>
</li>
确保你的html id是唯一的!这个jquery:
$(document).on('click','.res-menu-filters',function(){
$('.menu-title-layout-text').text($(this).find('.menu-extend-title').text());
})
相关文章:
- 正在将数据主题添加到所有项目
- CSS-如何定位内容数据标题
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- 在PHP中使用javascript更改页面标题'if'
- Brightcove获取/显示HTML中的当前视频标题和描述
- Dojo:访问dijit.form.Select中单击的项目
- 如何在引导程序下拉标题中显示带有图标的选定项目
- 在生成的标题列表中隐藏项目符号
- 如何在jquery移动版的中心制作可折叠项目的标题
- 如何在显示/隐藏项目后重新初始化多个粘滞标题
- 根据章节更改标题上的导航项目
- 可以't将项目添加到标题菜单
- MVC4引导JQuery-将下拉标题设置为所选项目
- 添加标签到标题和转换器到标签内的列表项目插件responsiveTab
- 如何在引导下拉列表的标题中显示选定的项目?以及如何在javascript警告框上显示所选项目
- 使用jQuery显示单击项目的标题值