javascript - 连接附加的字符串并删除最后一个字符

标签 javascript jquery string concat

我有一个列表,我想检索所有项目并将它们附加到一个段落。我目前成功地这样做了,但它并没有附加到一个字符串中(你需要检查 DOM 才能看到它),而是附加到多个字符串中。我尝试使用 .concat() 检索新的 p 但它返回错误。另外,在附加时我添加了一个逗号来分隔项目,并且需要删除最后一个。我正在使用 .slice(0, -1) 这样做,但因为它们都是单独的字符串,所以它不起作用。

JSFiddle

HTML

<ul>
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
    <li>Five</li>
    <li>Six</li>
    <li>Seven</li>
    <li>Eight</li>
</ul>

<p>String goes here: </p>

JS/JQuery

$(document).ready(function() {
    var item = $('ul li');
    var p = $('p');

    item.each(function() {
        itemText = $(this).text();
        p.append(itemText + ", ").slice(0,-1);
    });
});

最佳答案

之前它不起作用的原因是因为要访问文本,您需要使用 text() 并且您需要在迭代之后执行此操作

p.text(p.text().slice(0, -2)); //notice -2 because you have an additional space ', '

$(document).ready(function() {
  var item = $('ul li');
  var p = $('p');

  item.each(function() {
    itemText = $(this).text();
    p.append(itemText + ", ")
  });
  p.text(p.text().slice(0, -2)); //notice -2 because you have an additional space ', '
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<ul>
  <li>One</li>
  <li>Two</li>
  <li>Three</li>
  <li>Four</li>
  <li>Five</li>
  <li>Six</li>
  <li>Seven</li>
  <li>Eight</li>
</ul>

<p>String goes here:</p>

但是,更好的方法是准备一个数组并在最后加入

$(document).ready(function() {
    var item = $('ul li');
    var p = $('p');
    var itemTextA = [];
    item.each(function() {
        itemTextA.push($(this).text());
    });
    p.append(itemTextA.join(', '));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<ul>
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
    <li>Five</li>
    <li>Six</li>
    <li>Seven</li>
    <li>Eight</li>
</ul>

<p>String goes here: </p>

关于javascript - 连接附加的字符串并删除最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30875526/

相关文章:

javascript - 谁能解释一下这个语句 "var upload_file_count_text = +filenames.length++upFiles;"的意思

javascript - 从数组中获取最大和最小日期

javascript - javascript中如何将常量更改为变量

java - 在流Java中拆分字符串

c - 检查未知单词是否出现在所有 3 个不同长度的字符串中的函数

javascript - window.getSelection "reselect"/"refresh"

javascript - 使用jquery向下滚动到#lower div

javascript - 在控制台中的 DOM 中插入 HTML 代码后出错(Chrome 浏览器)

php - 掩蔽 BG 图像

c - 如何在C中使用二维数组