繁体   English   中英

如何使用 jQuery 定位名称属性

[英]How to target the name attribute with jQuery

所以...

我有这个我正在使用的图标,来自离子图标。 我想添加一个 jquery,当用户单击该图标时,它会更改为另一个图标。 但问题是,它使用属性名称来定位图标。

<a class="mobile-nav-icon js--nav-icon"><ion-icon name="menu-outline"></ion-icon></a>

我想将名称更改为其他类型的图标

<a class="mobile-nav-icon js--nav-icon"><ion-icon name="close-outline"></ion-icon></a>

如何定位名称属性? 我按照 hasClass、addClass、removeClass 逻辑尝试了以下操作,但没有用。

$('.js--nav-icon').click(function(){
var nav = $('.js--main-nav');
var icon = $('.js--nav-icon ion-icon');

nav.slideToggle(200);
if (icon.hasName('menu-outline')){
  icon.addName('close-outline');
  icon.removeName('menu-outline');
} else {
  icon.addName('menu-outline');
  icon.removeName('close-outline');
}});

我在 Web Dev 很新。

你可以做:

if (icon.attr('name') === 'menu-outline'){
    icon.attr('name', 'close-outline');

您可以使用.attr(attrName, value).attr(attrName, function)

 $('.js--nav-icon').click(function(){ var nav = $('.js--main-nav'); var icon = $('.js--nav-icon ion-icon'); nav.slideToggle(200); icon.attr('name', icon.attr('name') === 'menu-outline'? 'close-outline': 'menu-outline'); //Remove this..... just for testing console.log( icon[0] ); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <a class="mobile-nav-icon js--nav-icon"><ion-icon name="menu-outline">[ICON]</ion-icon></a>

参考

.attr() | jQuery API 文档

您可以使用

if($('.js--nav-icon ion-icon').attr('name') === 'menu-outline') {
 $('.js--nav-icon ion-icon').attr('name', 'close-outline');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM