Javascript jquery将.val()放在DIV的何处?
jQuery(通过2.1.0测试的所有版本)允许我在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的实例)上分配值属性,即使它通常没有。在我见过的每个浏览器中,都允许在元素上创建新属性,因此它是有效的
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不会抛出错误,除非真的没有办法这样做-