javascript - 验证 2 个元素是否具有相同的属性值
问题描述
在我的电子商务环境中,我需要在 2 个产品属性之间进行 jQuery 验证。简化后,它需要检查购物车是否有产品出现在同一页面上:
<! –– Cart ––>
<ul class="woocommerce-mini-cart cart_list product_list_widget ">
<li class="woocommerce-mini-cart-item mini_cart_item">
<a href="/example-product/" class="remove remove_from_cart_button" data-product_id="6735" data-cart_item_key="..." ></a>
</li>
</ul>
<! –– Product ––>
<article class="post-6735 product" data-id="6735">
<div class="product_wrapper">
<a href="?add-to-cart=6735" data-quantity="1" class="button add_to_cart_button" data-product_id="6735"</a>
</div>
</article>
我希望能够检查购物车中的属性及其值是否与元素data-product_id
中的完全相同。article a.button
我的做法:
jQuery('.woocommerce-mini-cart .remove_from_cart_button').attr('data-product_id').each( function() {
if( jQuery('article a.button')/*check if it is the same*/){
// do something here
}
});
如您所见,ID 号6735
在更多属性中。那么也许另一种方式也是可能的?
解决方案
- 要得到
current_ProductId
,你只需要从$('article').data('id')
- 要遍历所有迷你购物车项目,您只需要
mini_cart_item
- 如您所见,我们可以通过使用获取数据属性值
data
var current_ProductId = $('article').data('id');
$('.mini_cart_item').each(function() {
var productId_MiniCartItem = $(this).find('a').data('product_id');
if(productId_MiniCartItem == current_ProductId){
// do something here
console.log("ProductId: " + productId_MiniCartItem + " has been ordered");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<! –– Cart ––>
<ul class="woocommerce-mini-cart cart_list product_list_widget ">
<li class="woocommerce-mini-cart-item mini_cart_item">
<a href="/example-product/" class="remove remove_from_cart_button" data-product_id="6735" data-cart_item_key="..." >6735</a>
</li>
<li class="woocommerce-mini-cart-item mini_cart_item">
<a href="/example-product/" class="remove remove_from_cart_button" data-product_id="6736" data-cart_item_key="..." >6736</a>
</li>
</ul>
<! –– Product ––>
<article class="post-6735 product" data-id="6735">
<div class="product_wrapper">
<a href="?add-to-cart=6735" data-quantity="1" class="button add_to_cart_button" data-product_id="6735"</a>
</div>
</article>
推荐阅读
- r - R中的双向条形图
- docker - Mac 的 Docker 桌面:绑定到 tcp 端口
- linux - 在 Docker 构建中创建文件
- shell - Jenkins 管道中的 Shell 脚本 cd 命令给出错误“没有这样的文件或目录”
- css - 为什么这个 CSS Grid 孩子需要一个最大高度来启用滚动?
- mongodb - 使用 SpringData MongoDB repository.saveAll() 加载大量数据时如何处理套接字错误连接关闭异常
- datepicker - Jquery datepicker 周末从计算中排除
- image - 使用像素值或整数时的结果差异
- python-3.x - Tensorflow 2.0 中的 LSTM 状态元组
- vue.js - 切换标签后传递道具值