You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript/jQuery实现Div内文本逐行反转?

逐行反转Div内文本的JS/jQuery解决方案

需求说明

需要将Div内的文本逐行单独反转每个单词,同时保持行的上下顺序不变,整体阅读方向仍为从左到右。不能直接整体反转文本(会颠倒行顺序),也不能使用direction: rtl样式(无法实现单词级反转)。


原生JavaScript解决方案

适用于纯文本换行(通过\n分隔行)的Div:

// 获取目标Div
const targetDiv = document.getElementById('target-div');
// 拆分文本为行数组
const lines = targetDiv.textContent.split('\n');
// 逐行处理:反转每个单词后重新拼接
const reversedContent = lines.map(line => 
  line.split(' ')
      .map(word => word.split('').reverse().join(''))
      .join(' ')
).join('\n');
// 更新Div内容
targetDiv.textContent = reversedContent;

如果Div内的换行是通过<br>标签实现的,调整如下:

const targetDiv = document.getElementById('target-div');
// 先将<br>替换为换行符统一处理
const rawText = targetDiv.innerHTML.replace(/<br\s*\/?>/gi, '\n');
const lines = rawText.split('\n');
const reversedContent = lines.map(line => 
  line.split(' ')
      .map(word => word.split('').reverse().join(''))
      .join(' ')
).join('<br>');
// 换回<br>标签更新内容
targetDiv.innerHTML = reversedContent;

jQuery解决方案

纯文本换行场景:

$('#target-div').text(function(_, originalText) {
  return originalText.split('\n').map(line => 
    line.split(' ')
        .map(word => word.split('').reverse().join(''))
        .join(' ')
  ).join('\n');
});

<br>换行场景:

$('#target-div').html(function(_, originalHtml) {
  // 替换<br>为换行符
  const rawText = originalHtml.replace(/<br\s*\/?>/gi, '\n');
  // 处理后换回<br>
  return rawText.split('\n').map(line => 
    line.split(' ')
        .map(word => word.split('').reverse().join(''))
        .join(' ')
  ).join('<br>');
});

内容的提问来源于stack exchange,提问作者user2194805

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 04:26:08