আপনার কীভাবে নমনীয় বা কয়টি ক্ষেত্রে এটি আবশ্যক তা নিশ্চিত নয়, তবে উদাহরণস্বরূপ, যদি টেক্সটটি সর্বদা প্রথম এইচটিএমএল ট্যাগগুলির আগে উপস্থিত হয় - তবে কেন কেবল প্রথম ট্যাগটিতে অভ্যন্তরীণ এইচটিএমএলকে বিভক্ত করে পূর্বেরটিকে নেওয়া হবে না:
$('#listItem').html().split('<span')[0];
এবং আপনার যদি এটির আরও প্রশস্ত প্রয়োজন তবে সম্ভবত just
$('#listItem').html().split('<')[0];
এবং যদি আপনার দুটি মার্কারের মধ্যে পাঠ্য প্রয়োজন যেমন একটি জিনিস পরে তবে অন্যটির আগে আপনি শুল্ক ছাড়াই ত্রুটিগুলি এড়িয়ে গিয়ে স্টেটমেন্ট বা শেষ মার্কার বা উভয়ই যথেষ্ট নমনীয় করতে বিবৃতি ব্যবহার করতে পারেন :
var startMarker = '';// put any starting marker here
var endMarker = '<';// put the end marker here
var myText = String( $('#listItem').html() );
// if the start marker is found, take the string after it
myText = myText.split(startMarker)[1];
// if the end marker is found, take the string before it
myText = myText.split(endMarker)[0];
console.log(myText); // output text between the first occurrence of the markers, assuming both markers exist. If they don't this will throw an error, so some if statements to check params is probably in order...
আমি সাধারণত এর মতো দরকারী জিনিসের জন্য ইউটিলিটি ফাংশনগুলি তৈরি করি, এগুলিকে ত্রুটিমুক্ত করে তোলে এবং তারপরে এই জাতীয় স্ট্রিং ম্যানিপুলেশন এবং নাল রেফারেন্সগুলি ঝুঁকিপূর্ণ করার পরিবর্তে ঘন ঘন ঘন ঘন ঘন ঘন ঘন একবার নির্ভর করি That এভাবে, আপনি ফাংশনটি আবার ব্যবহার করতে পারেন প্রচুর প্রকল্পে এবং কখনই আবার সময় নষ্ট করতে হবে না কেন একটি স্ট্রিং রেফারেন্সে একটি অপরিজ্ঞাত রেফারেন্স ত্রুটি রয়েছে। এখন পর্যন্ত সংক্ষিপ্ত 1 লাইন কোড নাও হতে পারে তবে আপনার ইউটিলিটি ফাংশনটি পরে, এটি তখন থেকে এক লাইন। নোট করুন বেশিরভাগ কোডটি কেবল প্যারামিটারগুলি হ্যান্ডলিং করছে সেখানে ত্রুটিগুলি এড়ানোর জন্য নয় :)
উদাহরণ স্বরূপ:
/**
* Get the text between two string markers.
**/
function textBetween(__string,__startMark,__endMark){
var hasText = typeof __string !== 'undefined' && __string.length > 0;
if(!hasText) return __string;
var myText = String( __string );
var hasStartMarker = typeof __startMark !== 'undefined' && __startMark.length > 0 && __string.indexOf(__startMark)>=0;
var hasEndMarker = typeof __endMark !== 'undefined' && __endMark.length > 0 && __string.indexOf(__endMark) > 0;
if( hasStartMarker ) myText = myText.split(__startMark)[1];
if( hasEndMarker ) myText = myText.split(__endMark)[0];
return myText;
}
// now with 1 line from now on, and no jquery needed really, but to use your example:
var textWithNoHTML = textBetween( $('#listItem').html(), '', '<'); // should return text before first child HTML tag if the text is on page (use document ready etc)