应用 sortableJS 后列表项中的字符串
string from list items after sortableJS has been applied
我正在尝试使用 jquery ui 排序后从列表中获取字符串
使用简单列表(不排序)
<ul id = "description">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
正在申请
$('#description').text().replace(/(\r\n|\n|\r)/gm," ");
我得到:一二三
但是,如果我使列表可排序并四处移动项目,并使用
function getOrder() {
alert($("#description").html());//gives a correct html ul
alert($("#description").text());// no spaces between words
var ans = $('#description').text().replace(/(\r\n|\n|\r)/gm," ");
alert("You got " + ans)
};
输出变为三二一或三二一 - 间距混乱。 $("description").html()
显示 html 是正确的( style="" 由于某种原因被添加到 li 标签中),但是 $('#description').text().replace(/(\r\n|\n|\r)/gm," ");
没有给出适当间隔的字符串。
为什么排序会改变行为,我该怎么做才能解决这个问题?请感谢任何回复
要获取文本,我将创建一个 toString 函数:
function toString(element) {
var children = element.children;
var str = '';
for (var i = 0; i < children.length; i++) {
str += (!i ? '' : ' ') + children[i].textContent;
}
return str;
}
然后使用作为参数传入的列表的 HTMLElement(不是 jQuery 对象)调用该函数。
此解决方案不使用 jQuery,因此您可以将其与 SortableJS 或 jQuery Sortable 一起使用。
$.map( $('li'), function (element) { return $(element).text() }).join(' ');
努力将列表项放入适当间隔的字符串中
我正在尝试使用 jquery ui 排序后从列表中获取字符串 使用简单列表(不排序)
<ul id = "description">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
正在申请
$('#description').text().replace(/(\r\n|\n|\r)/gm," ");
我得到:一二三 但是,如果我使列表可排序并四处移动项目,并使用
function getOrder() {
alert($("#description").html());//gives a correct html ul
alert($("#description").text());// no spaces between words
var ans = $('#description').text().replace(/(\r\n|\n|\r)/gm," ");
alert("You got " + ans)
};
输出变为三二一或三二一 - 间距混乱。 $("description").html()
显示 html 是正确的( style="" 由于某种原因被添加到 li 标签中),但是 $('#description').text().replace(/(\r\n|\n|\r)/gm," ");
没有给出适当间隔的字符串。
为什么排序会改变行为,我该怎么做才能解决这个问题?请感谢任何回复
要获取文本,我将创建一个 toString 函数:
function toString(element) {
var children = element.children;
var str = '';
for (var i = 0; i < children.length; i++) {
str += (!i ? '' : ' ') + children[i].textContent;
}
return str;
}
然后使用作为参数传入的列表的 HTMLElement(不是 jQuery 对象)调用该函数。
此解决方案不使用 jQuery,因此您可以将其与 SortableJS 或 jQuery Sortable 一起使用。
$.map( $('li'), function (element) { return $(element).text() }).join(' ');
努力将列表项放入适当间隔的字符串中