Вставить строку в jquery
Я получаю следующий результат через ajax.
row=Shimla|1|http://vinspro.org/travel/ind/
Я хочу http://vinspro.org/travel/ind/ из него. Я использовал функцию поиска и разделения, но она не работает. пожалуйста, дайте мне знать, как я могу это получить?
var result=$(row).split('|');
alert(result);
chrome показывает следующую ошибку
Uncaught Error: Syntax error, unrecognized expression: Shimla|1|http://vinspro.org/travel/ind/
Ответы
Ответ 1
Метод split
будет создавать массив. Поэтому вам нужно получить доступ к третьему элементу в вашем случае.
(массивы индексируются 0) Вам нужно получить доступ к result[2]
, чтобы получить URL
var result = $(row).text().split('|');
alert( result[2] );
Вы не даете нам достаточной информации, чтобы знать, что именно row
. Именно поэтому, в зависимости от того, как вы приобретаете переменную row
, вам может потребоваться выполнить одно из следующих действий.
- if
row
- это строка, затем row.split('|');
- если это элемент DOM, тогда
$(row).text().split('|');
- если это элемент
input
, тогда $(row).val().split('|');
Ответ 2
Сплит создает массив. Вы можете получить доступ к отдельным значениям с помощью индекса.
var result=$(row).val().split('|')[2]
alert(result);
ИЛИ
var result=$(row).val().split('|');
alert(result[2]);
Если это элемент ввода, вам нужно использовать $(row).val()
для получения значения.
В противном случае вам нужно будет использовать $(row).text()
или $(row).html()
Ответ 3
Что такое строка?
Возможно, все из них могут быть правильными.
1) Я предполагаю, что вы захватили свой ответ ajax в переменной j row "row". Если это так, это будет верно.
var result=row.split('|');
alert(result[2]);
иначе
2) Используйте это, когда $(row)
является объектом jQuery
.
var result=$(row).val().split('|');
alert(result[2]);
[Как уже упоминалось в другом ответе, вам может потребоваться использовать $(row).val()
или $(row).text()
или $(row).html()
и т.д. в зависимости от того, что такое $(строка).]
Ответ 4
Функция разделения разделяет каждую часть текста с помощью разделителя, который вы предоставляете, и вы предоставили "|". Таким образом, результатом будет массив, содержащий "Shimla", "1" и "http://vinspro.org/travel/ind/" . Вы можете манипулировать этим, чтобы получить третий, "http://vinspro.org/travel/ind/" , и вот пример:
var str="Shimla|1|http://vinspro.org/travel/ind/";
var n = str.split('|');
alert(n[2]);
Как упоминалось в других ответах, этот код будет отличаться в зависимости от того, была ли она строкой ($ (str).split('|');), вход текстового поля ($ (str).val(). split ( '|');) или элемент DOM ($ (str).text(). split ('|');).
Вы также можете просто использовать простой JavaScript для получения всего материала после 9 символов, который будет "http://vinspro.org/travel/ind/" . Вот пример:
var str="Shimla|1|http://vinspro.org/travel/ind/";
var n=str.substr(9);
alert(n);
Ответ 5
Попробуй это
var data = 'allow~5';
var result=data.split('~');
РЕЗУЛЬТАТ
alert(result[0]);