使用jquery拆分字符串不起作用
我有一个字符串-0-100 也就是说,我正在尝试将其拆分为0和100 我尝试过使用jquery使用jquery拆分字符串不起作用,jquery,jquery-ui,Jquery,Jquery Ui,我有一个字符串-0-100 也就是说,我正在尝试将其拆分为0和100 我尝试过使用jquery $("#costFilter li a").click(function () { var temp = $(this).html().split("- "); var temp1 = temp.split("-"); alert(temp1[0]); alert(temp1
$("#costFilter li a").click(function () {
var temp = $(this).html().split("- ");
var temp1 = temp.split("-");
alert(temp1[0]);
alert(temp1[1]);
// $("#<%=initialCost.ClientID%>").val(temp1[0]);
// $("#<%=endCost.ClientID%>").val(temp1[1]);
// $("#<%=BtnCostFilter.ClientID %>").click();
});
$(“#costFilter li a”)。单击(函数(){
var temp=$(this.html().split(“-”);
var temp1=温度拆分(“-”);
警报(temp1[0]);
警报(temp1[1]);
//$(“#”)val(temp1[0]);
//$(“#”)val(temp1[1]);
//$(“#”)点击();
});
这不管用。
我的html格式为:
<ul style="list-style-type: none" id="costFilter">
<li><a href="#.">- 0-100</a> </li>
<li><a href="#.">- 100-200</a> </li>
<li><a href="#.">- 200 - 300</a> </li>
<li><a href="#.">- 400-500</a> </li>
<li><a href="#.">- 600-600</a> </li>
</ul>
没有警报在工作。谢谢您的帮助。您将html()
拆分为“-”,因此您的实际价值在temp[1]
提尔,这个
$(“#costFilter li a”)。单击(函数(){
var temp=$(this.html().split(“-”);
var temp1=temp[1]。拆分(“-”;//此处
警报(temp1[0]);
警报(temp1[1]);
//$(“#”)val(temp1[0]);
//$(“#”)val(temp1[1]);
//$(“#”)点击();
});
您将html()
与“-”分开,因此您的实际值在temp[1]
提尔,这个
$(“#costFilter li a”)。单击(函数(){
var temp=$(this.html().split(“-”);
var temp1=temp[1]。拆分(“-”;//此处
警报(temp1[0]);
警报(temp1[1]);
//$(“#”)val(temp1[0]);
//$(“#”)val(temp1[1]);
//$(“#”)点击();
});
首先,您应该使用
text()
而不是html()
来仅获取锚文本
其次,只要字符串的格式是规则的,就可以使用substring()
而不是split()
来去除前导文本。这将解决代码的实际问题,即第一个split()
返回一个数组而不是单个字符串
以下代码应该完全满足您的要求:
var temp = $(this).text().substring(2).split("-");
alert(temp[0]);
alert(temp[1]);
首先,您应该使用
text()
而不是html()
来仅获取锚文本
其次,只要字符串的格式是规则的,就可以使用substring()
而不是split()
来去除前导文本。这将解决代码的实际问题,即第一个split()
返回一个数组而不是单个字符串
以下代码应该完全满足您的要求:
var temp = $(this).text().substring(2).split("-");
alert(temp[0]);
alert(temp[1]);
有几件事需要澄清:
split()
时,将返回一个由delimter拆分的字符串数组。这意味着尝试以下行将导致解释器错误:var temp1=temp.split(“-”)因为temp
是字符串数组,而不是字符串本身
$("#costFilter li a").click(function () {
var text = $(this).text();
var strings = text.split('-');
// jQuery utility function that takes an array and creates a new one based on items
// that are actually returned by the callback function (mine only keeps elements
// that aren't empty)
var filteredStrings = $.map(strings, function(str) {
if (str.length > 0)
return str;
});
//do what you need with your strings now
});
下面是一个JSFIDLE,演示如何使用它 有几件事需要澄清:
split()
时,将返回一个由delimter拆分的字符串数组。这意味着尝试以下行将导致解释器错误:var temp1=temp.split(“-”)因为temp
是字符串数组,而不是字符串本身
$("#costFilter li a").click(function () {
var text = $(this).text();
var strings = text.split('-');
// jQuery utility function that takes an array and creates a new one based on items
// that are actually returned by the callback function (mine only keeps elements
// that aren't empty)
var filteredStrings = $.map(strings, function(str) {
if (str.length > 0)
return str;
});
//do what you need with your strings now
});
下面是一个JSFIDLE,演示如何使用它 再次缺少文档准备处理程序?再次缺少文档准备处理程序?