在jquery中爆炸字符串

Ank*_*ive 35 javascript jquery

我通过ajax得到以下结果.

row=Shimla|1|http://vinspro.org/travel/ind/
Run Code Online (Sandbox Code Playgroud)

我想从它http://vinspro.org/travel/ind/.我使用了find和split函数,但它不起作用.请让我知道我怎么能得到它?

var result=$(row).split('|');
    alert(result);
Run Code Online (Sandbox Code Playgroud)

chrome显示以下错误

Uncaught Error: Syntax error, unrecognized expression: Shimla|1|http://vinspro.org/travel/ind/ 
Run Code Online (Sandbox Code Playgroud)

Gab*_*oli 103

split方法将创建一个数组.因此,您需要访问案例中的第三个元素.

(数组为0索引)您需要访问result[2]以获取URL

var result = $(row).text().split('|');
alert( result[2] );
Run Code Online (Sandbox Code Playgroud)

您没有给我们足够的信息来row确切知道什么是正确的.因此,根据您获取变量的方式,row您可能需要执行以下操作之一.

  • if row是一个字符串然后row.split('|');
  • 如果它是一个DOM元素那么 $(row).text().split('|');
  • 如果它是一个input元素那么$(row).val().split('|');


小智 8

split 函数使用您提供的分隔符分隔文本的每个部分,并且您提供了“|”。因此结果将是一个包含“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]); 
Run Code Online (Sandbox Code Playgroud)

正如其他答案中提到的,这段代码会有所不同,具体取决于它是否是字符串 ($(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);
Run Code Online (Sandbox Code Playgroud)


Sus*_* -- 5

拆分创建一个数组.您可以使用索引访问各个值.

var result=$(row).val().split('|')[2]
alert(result);
Run Code Online (Sandbox Code Playgroud)

要么

var result=$(row).val().split('|');
alert(result[2]);
Run Code Online (Sandbox Code Playgroud)

如果是输入元素,那么你需要$(row).val()用来获取值..

否则你需要使用$(row).text()$(row).html()