首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery将单击的li html复制到另一个标记中

使用jQuery将单击的li html复制到另一个标记中
EN

Stack Overflow用户
提问于 2013-08-27 19:33:04
回答 2查看 244关注 0票数 0

我有以下HTML

代码语言:javascript
运行
复制
<div class="btn-group">
  <button class="btn dropdown-toggle action" data-toggle="dropdown">Nav name <span class="caret"></span></button>
  <ul id="nav" class="dropdown-menu test">
    <li><a href="#" id="action-1">one</a></li>
    <li><a href="#" id="action-2">two</a></li>
    <li><a href="#" id="action-3">three</a></li>
  </ul>
</div>

单击<li>时,我需要列表标记的HTML替换“name”。

这是我使用的jQuery和一个小提琴手

代码语言:javascript
运行
复制
jQuery("#action-1").click(function(e){
 jQuery('.action').html('one <span class="caret"></span>');
e.preventDefault();
});
jQuery("#action-2").click(function(e){
 jQuery('.action').html('two <span class="caret"></span>');
e.preventDefault();
});
jQuery("#action-3").click(function(e){
 jQuery('.action').html('three <span class="caret"></span>');
e.preventDefault();
});

这不是干净的代码,我知道,它可以写得更好。如何使用$this和jQuery来获取li标记的HTML,并替换.action类html,即“name"?由于下拉列表将动态生成,所以我需要使用一个方法来单击li的HTML,但不确定如何编写它。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-27 19:37:34

代码语言:javascript
运行
复制
$("#nav > li > a").click(function(e) {
    e.preventDefault();
    $(".action").html($(this).text() + '<span class="caret"></span>');
});
票数 2
EN

Stack Overflow用户

发布于 2013-08-27 19:42:05

代码语言:javascript
运行
复制
$('#nav li').on('click', function (e) {
    e.preventDefault();
    $('.action').html($(this).text() + '<span class="caret"></span>');
});

JSFiddle。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18473943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档