Javascript 从函数外部获取'this'

Javascript 从函数外部获取'this',javascript,jquery,Javascript,Jquery,如何或甚至可能从函数中获取该值?我制作了这个代码段,它将defaultValue保存在函数中,但我想从函数外部直接在dom元素上阅读它。这可能吗 我在jQuery中做了这样一件事: 请参见此处的操作:在函数$input.valfunction{中,它引用了$input查询中的一个元素。 请注意,$input将返回元素列表,即使只有一个元素。请使用.get选择元素。 您可以从$input.get0.defaultValue访问defaultValue。假设您只需要一个元素,请尝试以下操作: <

如何或甚至可能从函数中获取该值?我制作了这个代码段,它将defaultValue保存在函数中,但我想从函数外部直接在dom元素上阅读它。这可能吗

我在jQuery中做了这样一件事:

请参见此处的操作:

在函数$input.valfunction{中,它引用了$input查询中的一个元素。 请注意,$input将返回元素列表,即使只有一个元素。请使用.get选择元素。 您可以从$input.get0.defaultValue访问defaultValue。假设您只需要一个元素,请尝试以下操作:

<input onfocus="if (this.value==this.defaultValue) this.value = '';" onblur="if (this.value=='') this.value = this.defaultValue;" name="search" value="Search">

这些函数都是回调函数。这意味着它们是在从jQuery触发事件时运行的。因此,在这个上下文中,这实际上是由jQuery决定的。在这种情况下,是事件绑定到的元素


另一方面,看起来您正在查找仅在HTML5中可用的占位符属性,但您可以找到用于较旧浏览器的插件

您可以使用jQuery的数据函数将其保存到DOM中表示的元素中

在pageLoad上执行此操作:

$(this).data('defaultValue', $(this).val());
您可以稍后使用以下方法检索它:

alert($('#myElement').data('defaultValue');

…它将返回在pageload上设置的值,而不是输入的当前值。

您应该使用.focus而不是.click。您想访问哪个位置?我不清楚您的问题。直接在DOM元素上读取它是什么意思?这不是函数的属性,而是执行函数的属性ntext,即此函数的值由调用函数的方式和时间决定。不,这指的是DOM元素.document.getElementById'search'。defaultValue包含标签的文本。这是我的方法,但是,我必须通过获取$'myElement.data.defaultValue;…而不是您的建议来获取数据。但是,是的,我将使用数据进行此方法h、 @KennethB:$'myElement'。data.defaultValue相当于$'myElement'。data.defaultValue实际上便宜得多,或者至少便宜得多。看你指的是哪一部分?我似乎不明白你的意思。你是指我的方法还是你的方法,便宜得多吗?:
alert($('#myElement').data('defaultValue');