首页 > 解决方案 > 使用过滤器在屏幕上写入一个单词的数组 - Javascript

问题描述

我有一个数组,里面有两个可点击的选项来完成一个句子(这个数组我通过一个 innerHTML 放在屏幕上)。这些选项在 [] 内,我只需要在屏幕上键入直到 [] 结束,将第二个选项留在屏幕上继续选择,始终与短语连接。

(这一切都必须在“showArrayConsole”中完成,请不要触摸选择jquery)

我已经尝试将数组分开,将每个选项留在某个数组中,但我不能这样做。都是在一个数组里面,里面可以有几个词组,无数个选项。

代码:

var exame = new Array("Exame realizado no ombro ", 
  "[", 
  " esquerdo ",
  "direito ",
  "]",
  ", foi ",
  "[",
  " acima ", 
  "abaixo ", 
  "]."
);

document.getElementById("loop").innerHTML = exame.join("")

function showArrayConsole(s) {
  document.getElementById("loop").innerHTML = (exame[0] + s);
}

$("p").click(function(e) {
  s = window.getSelection();
  console.log(s);
  var range = s.getRangeAt(0);
  console.log(range);
  var node = s.anchorNode;
  while (range.toString().indexOf(' ') != 0) {
    range.setStart(node, (range.startOffset - 1));
  }
  range.setStart(node, range.startOffset + 1);
  do {
    range.setEnd(node, range.endOffset + 1);

  } while (range.toString().indexOf(' ') == -1 && range.toString().trim() != '');

  var str = range.toString().trim();
  s.removeAllRanges();
  alert(str);
  showArrayConsole(str);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="loop"></p>

标签: javascriptjquery

解决方案


推荐阅读