我曾经看到过一段关于Jquery的文章,指出在Jquery中有些属性有不同的名字。我认为这是价值属性,被访问在Jquery val或类似的东西。 JQuery是否做了很多? JQuery的常见做法是更改属性名称吗?JQuery中的属性名称是否有不同的名称?
0
A
回答
1
jQuery不会更改任何属性名称。
jQuery在jQuery对象上实现它自己的方法。这些完全独立于DOM属性或DOM方法。
例如,您可以使用.val()
方法从jQuery对象中检索任何输入控件的值。在内部,jQuery对象的.val()
方法访问DOM对象的内容(可能使用.value
属性),但它不会以任何方式替换该DOM属性。它仍然是你选择使用它。
同样,jQuery有一个.html()
方法返回一个对象的innerHTML
。同样,这是jQuery对象上的jQuery方法,并不以任何方式替换DOM属性innerHTML
。
下面是一些代码的例子来说明:
<input id="test" type="text">
<div id="title">This is my Title</div>
使用普通的javascript:
var text = document.getElementById("test").value;
var title = document.getElementById("title").innerHTML;
使用jQuery:
var text = $("#test").val();
var title = $("#title").html();
注意两个jQuery的方法是方法调用,不属性。
即使使用jQuery对象时,你可以得到的DOM对象了使用.get(n)
方法jQuery对象和使用DOM属性,虽然平时不是这样做的原因:
var text = $("#test").get(0).value;
var title = $("#title").get(0).innerHTML;
0
jQuery不会更改属性名称。 jQuery返回不是DOM元素的jQuery实例。
如果你这样做$thing[0].value
它会工作。如果你这样做$thing.prop("value")
它会工作。
如果您使用$thing.val();
这是jQuery的val方法(这是类似val的“kind”,但也有一些奇怪的边缘情况魔术),那么它将“可能”返回包裹的dom元素的值。
0
不是我所知道的,val
的情况是因为它允许您设置或获取所有表单域(textfields,单选按钮,复选框,textareas等)的值,这些可能不是简单地通过做在所有情况下均为input.value
。
相关问题
- 1. kivy:“无效的属性名称”为有效的属性名称
- 2. BeanUtils的:不同的属性名称
- 3. CompositeConfiguration - 具有相同名称的属性
- 4. 具有相同名称的c#属性
- 5. jQuery的CSS属性名称不一致
- 6. ObjectContext.Translate - 使用不同的属性名称
- 7. 子类属性不同的名称
- 8. jQuery中的MVC 4中的ID和名称属性不同?
- 9. Netlogo - 不是gis扩展名中的有效属性名称
- 10. jquery动态属性名称
- 11. 名称属性
- 12. 对象解构与属性名称是不是有效的变量名称
- 13. 是否可以为不同视图声明具有相同名称的属性?
- 14. JavaScript中的属性名称
- 15. 属性类中的名称
- 16. 具有不同主键名称的不同表的DataKey名称
- 17. 不同的javascript对象具有相同的属性(名称)
- 18. 在javascript dom中,是否有属性名称的规则?今天
- 19. .NET有效属性名称
- 20. ValueInjecter不同类型/属性名称
- 21. Hibernate使用列名称属性名称
- 22. 是否有显示所有属性名称/值的NAnt任务?
- 23. html中名称属性的有效值
- 24. 声明具有相同名称但不同类型的属性
- 25. XSD:具有相同名称的属性不同方案
- 26. 阅读具有相同名称但属性不同的元素
- 27. 如何访问集合中具有不同名称的属性?
- 28. 具有相同名称但具有不同属性的序列化2属性
- 29. 如何知道属性或节点是否有不同的名称空间?
- 30. JQuery获取具有相同名称的属性值
' [0]'>>>'get(0)' – Raynos 2012-02-21 02:35:16
@Raynos - 你的观点是什么?是的'[0]'基本上与jQuery对象上的'.get(0)'相同,但这显然是一个不熟悉jQuery的人,所以我认为使用'.get(0) '而不是必须解释一个jQuery对象也可以看作一个数组,所以你可以使用'[0]'。我不是在这里推荐编码模式,我试图解释DOM属性和jQuery方法之间的区别,不同的人不知道jQuery。 – jfriend00 2012-02-21 02:39:00
我只是说'[0]'总比'.get(0)'好。这两个同样令人困惑 – Raynos 2012-02-21 03:38:01