2011-12-25 18 views
17

मैं अपनी वेबसाइट में किसी तत्व से "द्वारा:" टेक्स्ट को हटाना चाहता हूं। मैं बाकी पाठ वहां रहना चाहता हूं। मैं इसे jQuery के साथ कैसे प्राप्त कर सकता हूं? धन्यवाद।jQuery एक तत्व से विशिष्ट पाठ को हटा रहा है

एचटीएमएल

<div id="text">By: Anonymous From Minnesota</div> 

मैं यह सिर्फ होना चाहते हैं:

<div id="text">Anonymous From Minnesota</div> 
+0

क्या तत्व की क्या विशेषता से अपने html – themerlinproject

+0

निकालें पाठ पोस्ट कृपया? जैसे ... एक पाठ इनपुट फ़ील्ड का वर्तमान मूल्य? या सिर्फ एक div या पी तत्व के अंदर मनमाना पाठ? – codercake

+0

@themerlinproject एचटीएमएल – henryaaron

उत्तर

28

आप के साथ हर तत्व को खोजने के लिए चाहते हैं तो "द्वारा:" में इसे हटा दें और इसे हटा दें, आप इसे आजमा सकते हैं:

$(':contains("By:")').each(function(){ 
    $(this).html($(this).html().split("By:").join("")); 
}); 

यह किसी भी तत्व में "द्वारा:" की किसी भी घटना को हटा देता है। यदि आप specfic प्रकार के तत्वों को लक्षित करना चाहते हैं, तो बस जो भी चयनकर्ता उपयुक्त है उसे शामिल करने के लिए $(':contains("By:")') बदलें।

+0

के अंदर पाठ यह ऐसा लगता है जो मैं खोज रहा था, हालांकि, किसी कारण से, अल्पविराम को यादृच्छिक रूप से जोड़ा जा रहा है: http: // jsfiddle। नेट/एक्सएसएफसी/ – henryaaron

+0

हां! मैं() में विभाजित करने के लिए विभाजक पैरामीटर जोड़ना भूल गया। मैंने जुड़ने वाले उत्तरों को अपडेट किया है ("")। असल में यह क्या कर रहा है स्ट्रिंग को "द्वारा:" का उपयोग करके विभाजक के रूप में विभाजित कर रहा है, फिर सरणी तत्वों को विभाजक के रूप में कुछ भी नहीं कर कर स्ट्रिंग में वापस जोड़ना। उम्मीद है कि मदद करता है :) –

+1

यदि आप मूल .split() के प्रदर्शन को जोड़ने में रुचि रखते हैं।() Ges .replace (// g, ""), आपको यह दिलचस्प मिल सकता है: http://jsperf.com/split-join-vs-regex- –

3

var str = $("#text").text(); 
 
$("#text").text(str.substring(3));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="text">By: Anonymous From Minnesota</div>

जावास्क्रिप्ट का substring का उपयोग करना और इसे आसानी से पहुंचने के लिए अपने div एक आईडी दे:

एचटीएमएल:

<div id="text">By: Anonymous From Minnesota</div> 

jQuery:

var str = $("#text").text(); 
$("#text").text(str.substring(3)); 

आप यह भी एक पंक्ति में कर सकता है:

$("#text").text($("#text").text().substring(3)); 
9

नियमित अभिव्यक्तियों का उपयोग करके एक और वैश्विक समाधान। यह By: को प्रतिस्थापित करेगा भले ही आपकी स्ट्रिंग संरचना बदलेगी।

var str = $('div').text().replace(/By:/g, ''); 
 
$('div').text(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="text">By: Anonymous From Minnesota</div>

1

, div के लिए एक विशिष्ट आईडी देना टी:

$('#div_id').html($('#div_id').html().substring(3)); 

बेला: http://jsfiddle.net/ChUB4/

संबंधित मुद्दे