如何遍历JavaScript对象中的所有成员,包括作为对象的值.
例如,我怎么能循环这个(访问每个的"your_name"和"your_message")?
var validation_messages = {
"key_1": {
"your_name": "jimmy",
"your_msg": "hello world"
},
"key_2": {
"your_name": "billy",
"your_msg": "foo equals bar"
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个标准的jQuery插件设置,在顶部创建默认设置:
jQuery.fn.myPlugin = function(options) {
var defaults = {
starts: "0px,0px",
speed: 250, ...
};
o = $.extend(defaults, options);
}
Run Code Online (Sandbox Code Playgroud)
我有另一个变量叫numberOfObjects.
我正在尝试循环默认变量.对于找到的每个对象(from numberOfObjects),我需要复制变量值的值.所以,如果numberOfObjects变量是3,则defaults.starts应该是0px,0px > 0px,0px > 0px,0px.>用于分割值.
这就是我现在拥有的.X表示默认值中的变量名称.Y表示当前值的变量x.我已经走到这一步,并且不知道下一步该做什么.
for (x in defaults) { // x is defaults.x
defaults.x = defaults.x + " > y";
}
Run Code Online (Sandbox Code Playgroud) 我有一个变量,当打印到控制台时,它看起来像这样:
Object { PK-34={...}, PK-35={...}}
Run Code Online (Sandbox Code Playgroud)
我正在为这个变量添加一个size方法:
Model_value.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
Run Code Online (Sandbox Code Playgroud)
此方法返回0,并使用以下方法迭代这些属性:
for (foo in Model_value)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
不起作用.
我如何迭代那些PK-34,PK-35属性?
我得到了我需要转换为 - > js < - 的jq代码.对我来说它没有意义(因为jq是js),代码更长,耗时(我不是程序员)并且给出完全相同的效果......更不用说浏览器兼容性了.但...
我想选择列表中的所有链接(a)元素(li)迭代它们,更改值等等.
在jq中有一行简单的行$('li').find('a'); 即使li和之类的东西更多,它也能正常工作:
<li>
<div>
<a href=''>inside div</a>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
什么是普通js中的jq代码?我确实尝试了querySelector querySelectorAll,filter等无济于事(对我而言,只有当a是li的直接子项时才有效).
顺便说一句,我在寻找答案时找到了一个很好的页面 - http://youmightnotneedjquery.com/#contains_selector但我仍然遇到这个问题...所以任何建议都值得赞赏.