2014-08-08 2 views
0

Как удалить некоторую часть данных из переменнойКак удалить тег из яваскрипта переменной

Это мой jsfiddle

http://jsfiddle.net/9yvk50go/

Когда однажды нажал на отправить, я хочу, чтобы удалить этот часть текста

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

Так что я могу иметь массив покрытий пиццы только с этими значениями

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 
+0

Вы хотите, чтобы они оба были удалены? – j08691

+0

Да, правильно, я хочу удалить тэг p из обоих. – Pawan

+1

Так почему бы просто не использовать '$ ('. TcPriceWrap'). Remove()'? – j08691

ответ

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()); 
}); 

Я надеюсь, это помогает вам.

+0

Большое спасибо, сэр. – Pawan

0

ли это в вашем alert.

alert($(this).clone().children().remove().end().text().trim()); 

Это в основном

.clone клонировать объект

.children получая ребенок клонированного объекта

.remove удаление всех детей клонированного объекта

.end восходящих к выбору после этого получите текст

0

, если я понял, вы правильно вы хотите что-то вроде этого:

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

});

jsfiddleURL

Смежные вопросы