如何从javascript变量中删除标记

时间:2014-08-08 14:23:19

标签: jquery

如何从变量中删除部分数据

这是我的jsfiddle

http://jsfiddle.net/9yvk50go/

一旦点击提交,我想删除这部分文字

'<p class="tcPriceWrap">25</p>'

这样我就可以使用只有这些值的toppings数组

Honey with Chocolate Sauce  10 ML
Honey with Carmel  10 ML   

以下是HTML

<div class="prd-items-detials">    
<div style="display: block;" class="Topping-details" id="4">
   <section id="topping_tsection_4">
      <aside>
         <h6 class="tdHeading">Quantity      1</h6>
         <section class="secclass">
            <a data-id="4" topping_id="1" id="4_ZZ_0_ZZ_0" topp_name="Honey with Chocolate Sauce  10 ML" top_price="25" class="tpActive">
               Honey with Chocolate Sauce  10 ML 
               <p class="tcPriceWrap">25</p>
            </a>
         </section>
         <section class="secclass">
            <a data-id="4" topping_id="2" id="4_ZZ_0_ZZ_1" topp_name="Honey with Carmel  10 ML" top_price="25" class="tpActive">
               Honey with Carmel  10 ML 
               <p class="tcPriceWrap">25</p>
            </a>
         </section>
      </aside>
   </section>


</div>

    <input type="button" id="someid" value="Submit"/>

  </div>

这是我的javascript

var toppings = [];

$(document).on("click", "#someid", function(e) {

$("#topping_tsection_4").find('.tdHeading').each(function () {
                values = [];
                $(this).parent().find('.tpActive').each(function () {

                    alert($(this).text().trim());
                    values.push($(this).text().trim());
                });
                if(values.length>0)
                {
                    toppings.push({
                        'name': $(this).text().trim(),
                        'value': values
                    });
                }
            });


    });    // close of save event listener

3 个答案:

答案 0 :(得分:1)

假设您想要将这些数据保存在DOM中,我会在您的代码中建议替换:

$(this).parent().find('.tpActive').each(function () {
  alert($(this).text().trim());
  values.push($(this).text().trim());
});

为此:

$(this).parent().find('.tpActive').each(function () {
  // Clone the element to prevent any change in the original DOM object.
  var $el = $(this).clone(); 
  // Remove what you want.
  $el.find('.tcPriceWrap').remove();

  alert($el.text().trim());

  values.push($el.text().trim());
});

我希望它可以帮到你。

答案 1 :(得分:0)

alert

中执行此操作
alert($(this).clone().children().remove().end().text().trim());

基本上

.clone克隆对象

.children获取克隆对象的子项

.remove删除克隆对象的所有子项

.end返回选择后获取文本

答案 2 :(得分:0)

如果我理解正确,你想要这样的东西:

$("#submitid").click(function(){
    $(".tcPriceWrap").each(function(){$(this).remove();});
});

jsfiddleURL