无法在Jquery中选择元素

时间:2013-04-19 15:35:03

标签: jquery

我在Jquery中有这个代码 - :

function setCaretPos(element) {
    element.focus(); 

    if(typeof window.getSelection != "undefined" && typeof document.createRange 
        != "undefined")
    {
        var range = document.createRange(); 
    referenceNode = element.getElementsByClassName("prettyTag")[0].nextSibling; 
        range.selectNode(referenceNode); range.collapse(true); 

        var sel = window.getSelection();
        sel.removeAllRanges(); sel.addRange(range);
    }

当我这样做时,setCaretPos功能起作用 - :
setCaretPos(document.getElementById("editor"));

但是当我这样做时不起作用 - :

var element = $("#editor"); setCaretPos(element);

我只能选择后者。我如何纠正后者。谢谢.. :))

4 个答案:

答案 0 :(得分:4)

$('#editor')是一个jQuery对象,但你的javascript需要一个DOM对象。 jQuery对象与DOM对象相同。

尝试$('#editor').get(0)

答案 1 :(得分:2)

试试这个:

var element = $("#editor")[0]; setCaretPos(element);

答案 2 :(得分:1)

尝试从JQuery Element指向DOMNode:

var element = $("#editor"); setCaretPos(element[0]);

答案 3 :(得分:1)

那是因为setCaretPos()需要一个DOM元素,而不是一个jQuery对象:

setCaretPos(element.get(0));

另请参阅:get()