Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery将.val()放在DIV的何处?_Javascript_Jquery - Fatal编程技术网

Javascript jquery将.val()放在DIV的何处?

Javascript jquery将.val()放在DIV的何处?,javascript,jquery,Javascript,Jquery,jQuery(通过2.1.0测试的所有版本)允许我在DIV对象上调用.val(“某些值”),以设置DIV上的值。它不会显示,也不会在Chrome开发者工具中显示为HTML5数据属性。但我可以稍后通过调用.val()获取结果 例如(来自): HTML: 显示结果: A value attached. 值存储在哪里?不知道它存储在哪里使我担心我依赖于黑客攻击。jQuery只是在div对象(该div的实例)上分配值属性,即使它通常没有。在我见过的每个浏览器中,都允许在元素上创建新属性,因此它是有效的

jQuery(通过2.1.0测试的所有版本)允许我在
DIV
对象上调用
.val(“某些值”)
,以设置
DIV
上的值。它不会显示,也不会在Chrome开发者工具中显示为HTML5数据属性。但我可以稍后通过调用
.val()
获取结果

例如(来自):

HTML:

显示结果:

A value attached.

值存储在哪里?不知道它存储在哪里使我担心我依赖于黑客攻击。

jQuery只是在
div
对象(该
div
的实例)上分配
属性,即使它通常没有。在我见过的每个浏览器中,都允许在元素上创建新属性,因此它是有效的。不过,我不会定期将
val
divs
一起使用

非jQuery示例:

var div = document.createElement('div');
console.log('value' in div); // false, divs don't normally have a value property
div.value = 42;
console.log('value' in div); // true, we've created a property on the element
console.log(div.value);      // 42
或者使用jQuery:

var $div = $("<div>");
display(typeof $div.prop('value'));
$div.val(42);
display(typeof $div.prop('value'));
display($div.prop('value'));
var$div=$(“”);
显示(类型为$div.prop('value'));
$div.val(42);
显示(类型为$div.prop('value'));
显示($div.prop('value'));

在元素上创建新的自定义非标准属性的业务称为创建“expando”属性。它们可能非常方便。(例如,jQuery在内部使用它们来管理
数据
缓存和其他一些东西-如果仔细查看使用
数据
设置数据的DOM元素,您将看到一个名为
jQuery11002859784019836783
的属性;这是jQuery在jQuery的内部数据中查找元素数据的关键由于IE垃圾收集问题,cache.jQuery不会将数据存储在元素的expando中;它将密钥存储在那里,并将数据存储在JavaScript对象中。)

jQuery只是将
div
对象(该
div
的实例)上的
属性赋值,即使它通常没有。在我见过的每个浏览器中,都允许在元素上创建新属性,因此它是有效的。不过,我不会定期将
val
divs
一起使用

非jQuery示例:

var div = document.createElement('div');
console.log('value' in div); // false, divs don't normally have a value property
div.value = 42;
console.log('value' in div); // true, we've created a property on the element
console.log(div.value);      // 42
或者使用jQuery:

var $div = $("<div>");
display(typeof $div.prop('value'));
$div.val(42);
display(typeof $div.prop('value'));
display($div.prop('value'));
var$div=$(“”);
显示(类型为$div.prop('value'));
$div.val(42);
显示(类型为$div.prop('value'));
显示($div.prop('value'));

在元素上创建新的自定义非标准属性的业务称为创建“expando”属性。它们可能非常方便。(例如,jQuery在内部使用它们来管理
数据
缓存和其他一些东西-如果仔细查看使用
数据
设置数据的DOM元素,您将看到一个名为
jQuery11002859784019836783
的属性;这是jQuery在jQuery的内部数据中查找元素数据的关键由于IE垃圾收集问题,cache.jQuery不会将数据存储在元素的expando中;它将密钥存储在那里,并将数据存储在JavaScript对象中。)

它将数据存储在DOM对象的
属性中。您可以通过运行代码,然后在DOM检查器中检查元素来查看是否存在错误。在Chrome中,属性选项卡的
div#mydiv
下会列出
属性

HtmlDiscovery对象不正式支持这样的属性,因此您依赖于黑客

用于在元素上存储任意数据

$('#mydiv').data("myCustomValue", 'A value attached .');

它将其存储在DOM对象的
属性中。您可以通过运行代码,然后在DOM检查器中检查元素来查看是否存在错误。在Chrome中,属性选项卡的
div#mydiv
下会列出
属性

HtmlDiscovery对象不正式支持这样的属性,因此您依赖于黑客

用于在元素上存储任意数据

$('#mydiv').data("myCustomValue", 'A value attached .');

虽然上面的答案是准确的,但我想完成一些事情

jQuery是围绕着在jQuery对象中包装所有HTML元素的概念而设计的。这个jQuery对象恰好是一个可以容纳多个元素的数组

jQuery还特意向您隐藏了这一事实,这样普通的jQuery开发人员就不必担心自己到底拥有什么——只要调用正确的方法,奇迹就会发生

(如果执行
$(“.someClassYouHaveLotsOf”).hide()
或$(.someclassyouhaveneof”).hide()`,就会看到这一点。)

jQuery的
val()。由于jQuery不会抛出错误,除非真的没有办法抛出错误,所以它会通过访问它所具有的任何HTML元素的
属性来帮助您<代码>div
span
或其他什么

在大多数浏览器中,这种方法都很有效——基本上已经足够了

如果您真的对设置HTML元素的值以供以后使用感兴趣,那么
data()
方法更适合。纯HTML将使用
.setAttribute(“数据键”、“值”)


这大概是你唯一一次看到我在属性上使用HTML属性,顺便说一句。

虽然上面的答案是准确的,但我想完成一些事情

jQuery是围绕着在jQuery对象中包装所有HTML元素的概念而设计的。这个jQuery对象恰好是一个可以容纳多个元素的数组

jQuery还特意向您隐藏了这一事实,这样普通的jQuery开发人员就不必担心自己到底拥有什么——只要调用正确的方法,奇迹就会发生

(如果执行
$(“.someClassYouHaveLotsOf”).hide()
或$(.someclassyouhaveneof”).hide()`,就会看到这一点。)

jQuery的
val()。因为jQuery不会抛出错误,除非真的没有办法这样做-