上一篇
想象一下这个场景:你正在开发一个电商网站,页面上有几十个商品卡片,每个卡片都有"product-card"这个class,现在产品经理突然要求你实现一个功能:当用户点击任意商品卡片时,要获取这个商品的价格并显示在页面顶部,这时候,如果你不会用jQuery快速获取特定class元素的值,就只能一个个写冗长的原生JavaScript代码了...
别担心!今天我就带你彻底掌握jQuery中获取class元素及其值的各种技巧,让你从此轻松应对这类需求。
// 选择所有class为"product-card"的元素 var productCards = $('.product-card');
这是最基础的用法,注意class选择器前面要加点号(.),和CSS选择器语法一致。
// 获取第一个class为"product-card"的元素 var firstProduct = $('.product-card:first'); // 获取最后一个class为"product-card"的元素 var lastProduct = $('.product-card:last');
// 获取第3个class为"product-card"的元素(索引从0开始) var thirdProduct = $('.product-card').eq(2);
// 获取第一个.product-card元素的文本内容 var cardText = $('.product-card').first().text(); // 获取所有.product-card元素的文本内容(数组形式) var allCardTexts = $('.product-card').map(function() { return $(this).text(); }).get();
// 获取第一个.product-card元素的HTML内容 var cardHTML = $('.product-card').first().html();
// 获取class为"username-input"的输入框的值 var username = $('.username-input').val();
// 获取第一个.product-card元素的data-id属性 var productId = $('.product-card').first().attr('data-id'); // 获取第一个.product-card元素的src属性(假设是img元素) var imageSrc = $('.product-card').first().attr('src');
<div class="product" data-price="19.99">商品A</div> <div class="product" data-price="29.99">商品B</div> <div class="product" data-price="39.99">商品C</div>
var total = 0; $('.product').each(function() { var price = parseFloat($(this).attr('data-price')); total += price; }); console.log('商品总价:' + total.toFixed(2));
<div class="tab active" data-tab="home">首页</div> <div class="tab" data-tab="products">产品</div> <div class="tab" data-tab="contact">联系</div> <div class="tab-content" id="home">首页内容...</div> <div class="tab-content" id="products">产品内容...</div> <div class="tab-content" id="contact">联系内容...</div>
$('.tab').click(function() { // 移除所有tab的active类 $('.tab').removeClass('active'); // 给点击的tab添加active类 $(this).addClass('active'); // 隐藏所有内容 $('.tab-content').hide(); // 显示对应内容 var tabId = $(this).attr('data-tab'); $('#' + tabId).show(); });
为什么我的选择器获取不到元素?
提高选择器性能的技巧
$('#container .product-card')
比$('.product-card')
更快var $products = $('.product-card');
链式操作 jQuery支持链式操作,可以这样写:
$('.product-card') .first() .css('color', 'red') .attr('title', '精选商品');
掌握了jQuery获取class元素的方法,你就能轻松应对各种DOM操作需求,记住几个关键点:
$('.class-name')
.text()
、.html()
、.val()
或.attr()
回到开头的那个电商网站场景,你知道该怎么实现了吗?试试看用今天学到的知识解决它吧!
本文由 蒿金枝 于2025-07-30发表在【云服务器提供商】,文中图片由(蒿金枝)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/480930.html
发表评论