如何在没有id的情况下将jQuery元素传递给JavaScript函数?
html: javascript选择文本功能(通过):如何在没有id的情况下将jQuery元素传递给JavaScript函数?,javascript,jquery,Javascript,Jquery,html: javascript选择文本功能(通过): 如何将文档元素传递到此函数?使用文档关键字: function selectElementText(el, win) { win = win || window; var doc = win.document, sel, range; if (win.getSelection && doc.createRange) { sel = win.getSelection();
如何将文档元素传递到此函数?使用
文档
关键字:
function selectElementText(el, win) {
win = win || window;
var doc = win.document, sel, range;
if (win.getSelection && doc.createRange) {
sel = win.getSelection();
range = doc.createRange();
range.selectNodeContents(el);
sel.removeAllRanges();
sel.addRange(range);
} else if (doc.body.createTextRange) {
range = doc.body.createTextRange();
range.moveToElementText(el);
range.select();
}
}
编辑:
感谢@A.Wolff,它应该是
selectElementText(this)
只需使用this
,而不是像这样使用$(this)
:选择elementtext(this)代码>您应该使用:
selectElementText(此选项)代码>
将DOM节点作为参数传递给selectElementText()
函数。;) selectElementText(此选项)代码>???您还可以显示要选择的文本元素吗?还是用户刚刚单击的元素?如果是这样的话,@A.Wolff的建议正是你所需要的。显然A$(这个)不起作用
-事实上,它会起作用(但你只需要通过这个
)@A.Wolff又来救援了!说实话,我刚在点击刷新时找到了它,但你在那之前就已经提交了。我的第一个想法是阅读有问题的文档元素
,但在功能方面没有意义code@A.Wolff现在我仔细看了看,我发现你是对的。编辑。
$('.myClass').on('click',function() {
// do stuff in jQuery ...
// also select text using a pure JavaScript function like so:
selectElementText(el);
// obviously a `$(this)` won't work.
// A `document.getElementById('myId')` will work, but I don't know how to get it
});
function selectElementText(el, win) {
win = win || window;
var doc = win.document, sel, range;
if (win.getSelection && doc.createRange) {
sel = win.getSelection();
range = doc.createRange();
range.selectNodeContents(el);
sel.removeAllRanges();
sel.addRange(range);
} else if (doc.body.createTextRange) {
range = doc.body.createTextRange();
range.moveToElementText(el);
range.select();
}
}
selectElementText(document, window);
^ ^
^ --- the window as in case of the function (optional)
^--- the document as an argument which you want to pass