tekenreeks exploderen in jQuery

Ik krijg het volgende resultaat via ajax.

row=Shimla|1|http://vinspro.org/travel/ind/

Ik wil http://vinspro.org/travel/ind/ervan. Ik heb de zoek- en splitsfunctie gebruikt, maar het werkt niet. laat het me weten hoe ik het kan krijgen?

var result=$(row).split('|');
    alert(result);

chrome toont de volgende fout

Uncaught Error: Syntax error, unrecognized expression: Shimla|1|http://vinspro.org/travel/ind/ 

Antwoord 1, autoriteit 100%

De split-methode zal een array maken. U moet dus toegang hebben tot het derde element in uw geval..

(arrays zijn 0-geïndexeerd)U moet result[2]openen om de url te krijgen

var result = $(row).text().split('|');
alert( result[2] );

U geeft ons niet genoeg informatie om te weten wat rowprecies is.. Afhankelijk van hoe u de variabele rowverkrijgt, moet u mogelijk een van de volgt.

  • als roween tekenreeks is, dan row.split('|');
  • als het een DOM-element is, dan $(row).text().split('|');
  • als het een input-element is, dan $(row).val().split('|');

Antwoord 2, autoriteit 6%

Split maakt een array aan. U kunt toegang krijgen tot de individuele waarden door een index te gebruiken.

var result=$(row).val().split('|')[2]
alert(result);

OF

var result=$(row).val().split('|');
alert(result[2]);

Als het invoerelementis, moet je $(row).val()gebruiken om de waarde te krijgen..

Anders zou u $(row).text()of $(row).html()

moeten gebruiken


Antwoord 3, autoriteit 3%

Wat is rij?

Beide kunnen correct zijn.

1) Ik neem aan dat je je ajax-reactie vastlegt in een javascript-variabele ‘rij’. Als dat het geval is, zou dit waar zijn.

var result=row.split('|');
    alert(result[2]);

anders

2) Gebruik dit als $(row)een jQuery-object is.

var result=$(row).val().split('|');
    alert(result[2]);

[Zoals vermeld in het andere antwoord, moet u mogelijk $(row).val()of $(row).text()of $(row).html()etc. afhankelijk van wat $(row) is.]


Antwoord 4, autoriteit 3%

De splitsingsfunctie scheidt elk deel van de tekst met het door u opgegeven scheidingsteken en u hebt “|” opgegeven. Het resultaat zou dus een array zijn met daarin “Shimla”, “1” en “http://vinspro.org/travel/ind/”. Je zou dat kunnen manipuleren om de derde te krijgen, “http://vinspro.org/travel/ind/”, en hier is een voorbeeld:

var str="Shimla|1|http://vinspro.org/travel/ind/";
var n = str.split('|');
alert(n[2]); 

Zoals vermeld in andere antwoorden, zou deze code verschillen afhankelijk van of het een string ($(str).split(‘|’);), een tekstvakinvoer ($(str).val().split() was ‘|’);), of een DOM-element ($(str).text().split(‘|’);).

Je kunt ook gewoon JavaScript gebruiken om alle dingen na 9 tekens te krijgen, wat “http://vinspro.org/travel/ind/” zou zijn. Hier is een voorbeeld:

var str="Shimla|1|http://vinspro.org/travel/ind/";
var n=str.substr(9);
alert(n);

Antwoord 5

Probeer dit

var data = 'allow~5'; 
var result=data.split('~');

RESULTAAT

alert(result[0]);

Antwoord 6

als de id van uw invoer volgt

<input type='text'  id='kg_row1' >

dan kun je het bovenstaande exploderen/splitsen met de volgende functie van splitsen in jQuery

 var kg_id = $(this).attr("id");
  var getvalues =kg_id.split("_");
  var id = getvalues[1];

Other episodes