【发布时间】:2015-08-20 02:03:11
【问题描述】:
当您想要获取整个 DOM 元素(包括包装器)的 HTML 时,可以执行以下操作(如 here 所述):
$('#myElementId')[0].outerHTML
但你不能做的是在$(this)内部调用outerHTML,例如点击监听器或选择器函数体范围:
$(this).outerHTML //Doesn't complete in IntelliSense, returns undefined in browser
或
$(this)[0].outerHTML //Correction, this DOES work, but it doesn't complete in IntelliSense
因为 IntelliSense 在这些情况下不会显示 innerHTML 或 outerHTML,尽管使用 vanilla JavaScript 您可以这样做:
document.getElementById($(this).attr('id')).outerHTML
那么...这是怎么回事?
【问题讨论】:
-
您是否真的在浏览器本身中尝试过?我没有特别看到以这种方式使用
outerHTML的意义,但这应该可以。 -
可能 Intellisense 无法确定
$(this)[0]是 DOM 元素,因此它不建议 DOM 成员。 -
倾向于@FrédéricHamidi 的解释。你在
$(this).get(0).outerHTML上得到任何智能感知吗? -
@JordanGray 不,我没有
-
嗯,有趣,我认为这会奏效!您是否获得了
.get方法的自动完成提示? (我试图重现这一点,但从你那里得到了不同的结果。)
标签: javascript jquery visual-studio-2013 intellisense javascript-intellisense