打印子字符串中包含特定数字的数组项的值

时间:2014-11-06 19:45:36

标签: javascript arrays shopping-cart business-catalyst

我一直在努力解决这个问题并需要一些帮助。

在我的网站上,每个购物车的用户都会有不同的商品,但如果购物车中有特定商品,我希望将“删除商品”按钮复制到其他位置。

<!-- Here's how Business Catalyst outputs the buttons -->    
<div class="cart-item product-remove" style="border:solid 1px black;" >
  <div class="productitemcell"><a href="#" onclick="UpdateItemQuantity(0,324897,282161,9383682,336573,'','US');return false;">Remove Item</a></div>
  <div class="productitemcell"><a href="#" onclick="UpdateItemQuantity(0,324897,282161,9383705,336574,'','US');return false;">Remove Item</a></div>
  <!--the div below contains the button (anchor tag) I want to copy (It will move around the .product-remove div)-->
  <div class="productitemcell"><a href="#" onclick="UpdateItemQuantity(0,324897,282161,9383678,336585,'','US');return false;">Remove Item</a></div>
</div>    

<div id="sendLinkHere" style="border: 1px solid blue; width: 100%; height:50px;">
  <!-- I want the a tag containing "9383678" copied here -->
</div>    

这是我的javascript。我知道这不是很多,但这都是我所拥有的。

var divsOfA = document.getElementsByClassName("productitemcell");

console.log($.inArray("9383678",divsOfA));

2 个答案:

答案 0 :(得分:0)

这是一种方法。不是我确定的最佳方式。

var divsOfA = $(".productitemcell a");

$.each(divsOfA, function (i, obj) {

  var onclickVal = $(obj).attr('onclick');
  
  if ( onclickVal.indexOf('9383678') > 0 ) {
    
    var $parentCellClone = $(this).parent().clone();
    
    $('#sendLinkHere').append($parentCellClone);
  }
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="cart-item product-remove" style="border:solid 1px black;" >
  <div class="productitemcell"><a href="#" onclick="UpdateItemQuantity(0,324897,282161,9383682,336573,'','US');return false;">Remove Item</a></div>
  <div class="productitemcell"><a href="#" onclick="UpdateItemQuantity(0,324897,282161,9383705,336574,'','US');return false;">Remove Item</a></div>
  <!--the div below contains the button (anchor tag) I want to copy (It will move around the .product-remove div)-->
  <div class="productitemcell"><a href="#" onclick="UpdateItemQuantity(0,324897,282161,9383678,336585,'','US');return false;">Remove Item</a></div>
</div>    

<div id="sendLinkHere" style="border: 1px solid blue; width: 100%; height:50px;">
  <!-- I want the a tag containing "9383678" copied here -->
</div>    

答案 1 :(得分:0)

$(function() {
    copy(9383678);
})

function copy(num)
{
    $('.productitemcell').each(function(){
        var $a=$(this).find('a');
        var str=$a.attr('onclick');
        if(str.indexOf(num)>-1)
        {
            $('#sendLinkHere').append($a)
        }

    })
}