js获取自定义属性,报错 Uncaught TypeError: element.attr is not a function

我这是一个滑动导航栏的页面,滑动导航栏的参考页面在

https://blog.csdn.net/Gaia_qi/article/details/79528832

报错原因

attr("name") 是jquery对象的方法,原生js的方法是getAttribute()。
代码可以写成$(element).attr("name")或者element.getAttribute("name")。

页面中,添加自定义属性

<section class="swiper-container">
    <div class="swiper-wrapper">
        <div data-id="1" class="swiper-slide active">全部</div>
        <div data-id="2" class="swiper-slide">电气自动</div>
        <div data-id="3" class="swiper-slide">医药医学</div>
        <div data-id="4" class="swiper-slide">机械加工</div>
        <div data-id="5" class="swiper-slide">化学化工</div>
        <div data-id="6" class="swiper-slide">电子信息</div>
        <div data-id="7" class="swiper-slide">安全防护</div>
        <div data-id="8" class="swiper-slide">新能源</div>
        <div data-id="9" class="swiper-slide">仪器仪表</div>

    </div>
</section>

js 中获取 当前点击 div 的 id

<script>
var swiper = new Swiper('.swiper-container', {
    slidesPerView: 6,
    spaceBetween: 1,
    pagination: {
        el: '.swiper-pagination',
        clickable: true,
    },
});
</script>

<script type="text/javascript">
$(document).ready(function(){
    $('.swiper-container>.swiper-wrapper>.swiper-slide').click(function(){

        $(this).addClass("active").siblings().removeClass("active");

        // 获取自定义id,传到ajax,使用 getAttribute 就报那个错误
        
        var id = $(this).attr('data-id');
        
        console.log(id);
        // 返回数据,再反映到页面
        $.ajax({
            url: "",
            async: false,
            dataType: "json",
            success: function(data){
                rStr = data[0].nickname;
          alert(data);
            }
        });



    });
});
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值