Javascript 基于选定的UL LI项生成数组-如何删除尾随空格?
我似乎无法理解为什么我的数组会有一个尾随空格。基于所选li项构建阵列后的最终结果当前如下:Javascript 基于选定的UL LI项生成数组-如何删除尾随空格?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我似乎无法理解为什么我的数组会有一个尾随空格。基于所选li项构建阵列后的最终结果当前如下:12340123如何将输出设置为:12340123 以下是相关代码: var arr_numbers = []; window.onload = function() { $(document).bind('click', function(e) { var $clicked = $(e.target); if (!$clicked.hasClass("select
12340123
如何将输出设置为:12340123
以下是相关代码:
var arr_numbers = [];
window.onload = function() {
$(document).bind('click', function(e) {
var $clicked = $(e.target);
if (!$clicked.hasClass("select")) {
$(this).find('ul li').hide();
}
});
$(".select").click(function () {
$(this).find('ul li').toggle();
});
$(".select ul li").click(function(e) {
if (e.ctrlKey) {
e.stopPropagation();
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
}
else {
$(this).addClass('selected');
}
var c = $(this).parent().find("li.selected").length;
$(this).closest("div").contents().first()
.replaceWith((c > 1) ? "(" + c + ")" : $(this).text());
}
else {
$(this).closest("div").contents().first()
.replaceWith($(this).text());
var id = $(this).closest('[id]').attr('id');
$(this).closest('.select').find("ul li").removeClass('selected');
$(this).addClass('selected');
}
});
}
function get_data_array(element) {
if (element == 'numbers') {
var data_array_numbers = [];
var list = $("#numbers ul").find("li.selected")
$.each(list, function() {
//alert($(this).data('val'));
//alert($(this).text());
data_array_numbers.push($(this).text());
});
alert(data_array_numbers);
}
}
这是HTML:
Numbers
<div class="select" id="numbers">
<ul>
<li> </li>
<li data-val="1234">1234</li>
<li data-val="5678">5678</li>
<li data-val="0123">0123</li>
</ul>
</div>
<br><br>
Letters
<div class="select" id="letters">
<ul>
<li> </li>
<li>abcd</li>
<li>efgh</li>
<li>ijkl</li>
</ul>
</div>
<br><br>
Fruits
<div class="select" id="fruits">
<ul>
<li> </li>
<li>apples</li>
<li>bananas</li>
<li>oranges</li>
</ul>
</div>
<br><br>
<input type="button" value="test" onclick="get_data_array('numbers')">
数字
- 1234
- 5678
- 0123
信件
- abcd
- efgh
- ijkl
水果
- 苹果
- 香蕉
- 橙子
使用删除字符串开头和结尾的空白
data_array_numbers.push(jQuery.trim($(this).text()))
使用删除字符串开头和结尾的空格
data_array_numbers.push(jQuery.trim($(this).text()))
除了@Pranav的答案外,您还可以使用常用的字符串修剪:
data_array_numbers.push($(this).text().trim());
请注意,它不起作用除了@Pranav的答案,您还可以使用常用的字符串修剪:
data_array_numbers.push($(this).text().trim());
请注意,它不好用。谢谢:)我会尽快接受这个答案。请注意,对于不使用jQuery的开发人员,
trim()
方法是从ECMAScript 5开始的字符串原型的本机方法:。对于较旧的浏览器支持,此SO线程非常有用:Ok。谢谢:)我会尽快接受这个答案。请注意,对于不使用jQuery的开发人员,trim()
方法是从ECMAScript 5开始的字符串原型的本机方法:。对于较旧的浏览器支持,此SO线程非常有用: