javascript - 如何在几个课前选择文本

标签 javascript jquery

我有以下 html 结构,我想选择底层 pre 中的文本:

<span>[Select text 1]</span>
<pre class="selectme">
Text 1 goes shere 
</pre>

<span>[Select text 2]</span>
<pre class="selectme">
Text 2 goes here
</pre>

我的javascript:

jQuery.fn.selectText = function(){

var doc = document;
var element = this[0];
console.log(this, element);
  if (doc.body.createTextRange) {
    var range = document.body.createTextRange();
    range.moveToElementText(element);
    range.select();
  } else if (window.getSelection) {
    var selection = window.getSelection();        
    var range = document.createRange();
    range.selectNodeContents(element);
    selection.removeAllRanges();
    selection.addRange(range);
    }
};

$(function() {
  $('span').click(function() {
    $('.selectme').selectText();

  });
});

现在发生了什么:如果我点击第二个跨度,第一个代码被选中。应该是第二个 我如何在不使用 ID 的情况下实现这一目标?

http://jsfiddle.net/nuet/JAq2e/99/

最佳答案

使用 $.next() 获取下一个元素。

$('span').click(function() {
   $(this).next().selectText();
});

关于javascript - 如何在几个课前选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318416/

相关文章:

javascript - 如何正确使用 Promise 和回调函数

JavaScript 和图像预加载

javascript - 图像在 Google Chrome 中扭曲,但在 Firefox 中不扭曲。我应该如何处理这个问题?

javascript - 如何从 js.erb 文件传递​​部分 html.erb 表单而不仅仅是一条消息?

javascript - 如何反转阿拉伯字母数组?

javascript - AMQJS0011E 无效状态未连接

javascript - 使用 jQuery 将对外部 PHP 脚本标记的调用插入到元素中

javascript - 拖动时将标记/图钉保持在 map 中间

javascript - 元素的偏移量 - 内联 - 使用angularjs

jquery - rails 上的 ruby : vote/unvote using ajax