【问题标题】:Add a "new line" in innerHTML在 innerHTML 中添加“新行”
【发布时间】:2013-10-26 15:52:52
【问题描述】:

我正在尝试创建一个表格,其中第一个单元格中包含图像,第二个单元格中包含有关图片的信息。

我需要在一个单元格中添加不同的信息,如下所示:

cellTwo.innerHTML = arr_title[element] + arr_tags[element];

是否可以在那里添加“新行”? 我的意思是这样的:

cellTwo.innerHTML = arr_title[element] + "/n" + arr_tags[element];

【问题讨论】:

  • 是的,它不起作用
  • HTML 换行符默认被忽略。使用
    标签
  • 如果有帮助,innerHTML 会在 DOM 中准确地存储换行符。它们仅与任何其他空格组合并在渲染期间被视为单个空格。

标签: javascript html innerhtml


【解决方案1】:

最简单的方法是在html中添加一个换行符

cellTwo.innerHTML = arr_title[element] + "<br />" + arr_tags[element];

如果您希望按字面意思处理换行符,可以使用 &lt;pre&gt; 标签

cellTwo.innerHTML = 
    "<pre>" + arr_title[element] + "\n" + arr_tags[element] + "</pre>";

【讨论】:

  • 使用
    标签,字体会变小。
  • @zhang 我不明白你的意思,你可以用 CSS 控制字体大小
【解决方案2】:

完善你的理解:

因为它是 html (innerHTML) 它呈现 html,你可以使用任何你想要的 html,所以在这种情况下,只需添加一个好的老式 &lt;br&gt;

var test = document.getElementById('someElementId');
test.innerHTML = "The answer <br>to life, the universe, and everything...<br> is 42.";

如果它是一个字符串,例如在警告框或文本框等中,那么 /n 将是正确的:

alert('Never /n Forget your towel.'); 

编码愉快!
- $cr1ptN!nj@

【讨论】:

    【解决方案3】:

    不,&lt;br /&gt; 在 asp .net 中不起作用,但你可以这样写

    cellTwo.innerHTML = arr_title[element] + arr_tags[element]; arr_title[element] + "/n" + arr_tags[element];
    

    编辑 - 包含在代码标签中的替代方案

    cellTwo.innerHTML = arr_title[element] + arr_tags[element];
    cellTwo.innerHTML += arr_title[element] + "/n" + arr_tags[element];
    

    分号“;”似乎充当换行符 记住 "+=" 为字符串分配多个值

    【讨论】:

    • &lt;br /&gt; 在从 ASP.NET 生成的 HTML 中工作得非常好。据我所知,"/n" 并不意味着任何地方的新行。 \n 表示 JavaScript 字符串文字中的新行,但在转换为 HTML 时被视为任何其他空格。分号不像 JavaScript 中的换行符,分号结束语句。有时,换行符会导致在 JS 中自动插入分号。简而言之,这个答案的所有内容绝对是错误的(而且大多与正确完全相反)
    猜你喜欢
    • 1970-01-01
    • 2016-01-11
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2020-11-22
    相关资源
    最近更新 更多