我通过ajax得到以下结果。
row=Shimla|1|http://vinspro.org/travel/ind/
我想要http://vinspro.org/travel/ind/。我使用了find和split函数,但它不起作用。请让我知道我怎么能得到它?
var result=$(row).split('|');
alert(result);
chrome显示以下错误
Uncaught Error: Syntax error, unrecognized expression: Shimla|1|http://vinspro.org/travel/ind/
答案 0 :(得分:91)
split
method将创建一个数组。所以你需要访问案例中的第三个元素..
(arrays are 0-indexed)您需要访问result[2]
才能获取网址
var result = $(row).text().split('|');
alert( result[2] );
您没有向我们提供足够的信息来了解row
的确切含义。因此,根据您获取变量row
的方式,您可能需要执行以下操作之一。
row
是一个字符串,那么row.split('|');
$(row).text().split('|');
input
元素,则$(row).val().split('|');
答案 1 :(得分:5)
Split创建一个数组。您可以使用索引访问各个值。
var result=$(row).val().split('|')[2]
alert(result);
或
var result=$(row).val().split('|');
alert(result[2]);
如果是输入元素,那么您需要使用$(row).val()
来获取值..
否则您需要使用$(row).text()
或$(row).html()
答案 2 :(得分:4)
什么是行?
其中任何一个都可能是正确的。
1)我假设您在javascript变量'row'中捕获了ajax响应。如果是这种情况,这将成立。
var result=row.split('|');
alert(result[2]);
,否则
2)在$(row)
是jQuery
对象的地方使用此项。
var result=$(row).val().split('|');
alert(result[2]);
[如其他答案所述,您可能需要使用$(row).val()
或$(row).text()
或$(row).html()
等,具体取决于$(行)。[/ p>
答案 3 :(得分:4)
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]);
如其他答案中所述,此代码会有所不同,具体取决于它是否为字符串($(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);
答案 4 :(得分:0)
尝试一下
var data = 'allow~5';
var result=data.split('~');
结果
alert(result[0]);
答案 5 :(得分:0)
如果您输入的 ID 如下
<input type='text' id='kg_row1' >
然后你可以用jquery中的以下split函数来分解/拆分上面的内容
var kg_id = $(this).attr("id");
var getvalues =kg_id.split("_");
var id = getvalues[1];