2013-09-03 7 views
7

Jak mogę podzielić ciąg znaków zawierający znacznik <br/> przy użyciu jquery. Próbowałem następujący kod, ale dostał błąd w konsoli. Nie jestem pewien, jak podzielić ciąg w oparciu o <br/> tag Oto kod, co starałemDzielenie ciągu znaków na podstawie znacznika <br/> przy użyciu jquery

jQuery(document).ready(function($) 
    { 
     var lines = jQuery('this is for testing <br/> How are you<br/>').split('<br/>'); 
     jQuery.each(lines, function() { 
      alert(this); 
     }); 
    }); 

Wszelkie sugestie byłoby świetnie.

+1

Jakiego błędu dostałeś? – Dutts

Odpowiedz

9

Chcesz podzielić łańcuch waniliowy, nie należy go raczej przekazywać do numeru $();

jQuery(document).ready(function($) 
    { 
     var lines = 'this is for testing <br/> How are you<br/>'.split('<br/>'); 
     jQuery.each(lines, function() { 
      alert(this); 
     }); 
    }); 
+2

który załatwił sprawę! dzięki za wskazówkę! –

1

nie można po prostu zrobić coś takiego:

var lines = 'this is for testing <br/> How are you<br/>'.split('<br/>'); 

Podobnie jak marginesie, jeśli chcesz pozbyć się pustych elementów można filtrować lines tak:

// this will get rid of empty elements 
lines = lines.filter(function(n) { 
    return n; 
}); 
1
jQuery(document).ready(function($) 
{ 

var str = 'this is for testing <br/> How are you<br/>'; 
var lines = str .split('<br/>'); 
    jQuery.each(lines, function() { 
     alert(this); 
    }); 
}); 
1

Nie trzeba zawinąć w jQuery takich jak:

jQuery('this is for testing <br/> How are you<br/>').split('<br/>'); 

Can be like : 

('this is for testing <br/> How are you<br/>').split('<br/>'); 

DEMO

1

Spróbuj

jQuery(document).ready(function($) 
    { 
     var lines = ('this is for testing <br/> How are you<br/>').split("<br/>"); 
     jQuery.each(lines, function() { 
      alert(this); 
     }); 
    }); 

Demo

2

Spróbuj użyć tego:

var exploded = lines.split('<br />'); 

więcej informacji here

2

Co jeśli spróbujesz:

jQuery(document).ready(function($) 
    { 
     var lines = 'this is for testing <br/> How are you<br/>'.split('<br/>'); 
     each(lines, function() { 
      alert(this); 
     }); 
    }); 
1

Oto kod roboczych

jQuery(document).ready(function($) 
    { 

     var lines = 'this is for testing <br/> How are you<br/>'.split('<br/>'); 
       alert("workig"); 
     jQuery.each(lines, function() { 
      alert(this); 
     }); 
    }); 
6

Dużo tutaj duplikatów odpowiedzi. Ten jest inny. Jeśli możesz zagwarantować pisownię tagu <br/>, inne odpowiedzi są w porządku. Ale jeśli nie masz kontroli nad HTML, tag linia przerwa może przyjść w różnych formatach:

< br/>
< BR/>
< br/>
<br>
<br>
... itd.

główne przeglądarki mogą obsłużyć wszystkie te, ale tylko pierwsza będzie obsługiwana przez sugerowaną operację .split("<br/>").Bardziej wytrzymałe opcją jest użycie wyrażenia regularnego pasujące do tagu:

jQuery(document).ready(function($) 
{ 
    var brExp = /<br\s*\/?>/i; 
    var lines = ("this is for testing <br/> How are you<BR />").split(brExp); 
}); 

Pisałem ekspresję być rozróżniana wielkość liter, umożliwiają dowolną liczbę spacji po „< Br”, a „/” jest opcjonalne.

+0

to powinna być wybrana odpowiedź: D –

Powiązane problemy