javascript - 如何更改应用于几个元素中的跨度的类?

标签 javascript jquery html css

我正在开发一个应用程序,我有几个跨度。示例:

<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 1 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 2 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 3 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 4 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 5 </a>

我想通过 jQuery 执行以下操作。

1) 我想在不影响另一个跨度的情况下单击时更改一个跨度的类,以便保留如下内容:

<a id="boton"> <span #span class = "glyphicon glyphicon-minus"> </ span> item 1 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 2 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 3 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 4 </a>
<a id="boton"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 5 </a>

2) 我有以下实现的代码,但这意味着用不同的 id 重复代码几次,我不想那样,我想创建一个通用函数来执行此操作。

$ ('# button'). click (function () {
 $ ('# span'). toggleClass ('glyphicon-minus');
});

你能帮帮我吗? 谢谢

最佳答案

您可以获取clickables的父项,然后进行相应的设置。你可以检查

Sample Code Here .

$ ('a'). click (function (event) {

var target = $( event.target );
  if ( target.is( "span" ) ) {
    target.toggleClass('glyphicon-minus');
  }
})
.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<a id="button" herf="#"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 1 </a>
<br />
<a id="button"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 2 </a>
<br />
<a id="button"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 3 </a>
<br />
<a id="button"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 4 </a>
<br />
<a id="button"> <span #span class = "glyphicon glyphicon-asterisk"> </ span> item 5 </a>

在这段代码中,像在 HTML 代码中一样为 anchor 标记处理事件,您没有唯一的 ID,或者您可以在 HTML 本身中编写点击事件。

$ ('a'). click (function (event) {
     var target = $( event.target );
     if ( target.is( "span" ) ) {
         target.toggleClass('glyphicon-minus');
     }
})

希望对你有所帮助。

关于javascript - 如何更改应用于几个元素中的跨度的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51067256/

相关文章:

javascript - kendo ui 工具提示在网格内的定位问题

javascript - 根据另一个选项值设置一个下拉菜单的文本

javascript - 如何清除容器控件中的所有值

javascript - 如何检测带有表单更改的切换

javascript - 为什么我的 Ajax 请求在我的数据类型为 : "Content-Type: application/x-www-form-urlencoded"? 时发送 "JSON"

javascript - 嵌套对象的键是否存储在对象中?

javascript - Chrome "Drop workspace folder here"

javascript - 如何设置用户脚本以在一系列网站上运行?

javascript - 如何在angularJS列表中添加项目?

javascript - Bootstrap 密码输入切换功能不起作用