3

我已经使用 Javascript 获得了网页中当前选择的内容。

例如,下面给出了网页的示例 HTML——

    <div id="divText">Text 1
        <div id="divText1_1">Text 1_1</div>
        <div id="divText1_2">Text 1_2</div>
    </div>

现在,用户选择了文本“Text 1_2”——从上面的 HTML 中,我们可以看到这是名为“divText”的 div 中的第二个 div——我如何使用 Js 代码获取这些信息?我想要的信息-“divText1_2”是其父 HTML 元素中的第二个 div。(我想知道在“divText1_2”之前发生的 div 的数量——当用户选择了“divText1_2”中的文本时)......

4

2 回答 2

0

如果您想要的信息只是该 div 中的文本,请尝试:

 $(document).ready(function () {

    alert($("#divText1_2").text());
});
于 2012-07-28T20:04:34.573 回答
0

如果您在用户从浏览器中选择一些文本时不知道 div id,那么您可以使用 jquery 找到 html 元素,例如:

dom = $('*:contains("Text 1_2")');

创建一个 dom 数组,如:

dom_array = []
for( var j=0; j<dom.length; j++){
  dom_array[j] = dom[j];
}

现在数组中的最后一个元素将是包含所选文本的确切 html 元素。(假设所选文本只会出现一次)

selected_id = dom_array[dom_array.length-1].id // 

var a = document.getElementById("divText");
    var arr = [];
    var div = document.getElementById("selected_id"); 
    for( var i=0; i<a.length; i++){
      arr[i] = a[i];
    }
    console.log(arr.indexOf(div));
于 2012-07-28T20:04:50.557 回答