
在实际开发中可能会遇到需要获取对象的所有属性,这时你可能会自己来遍历一遍获取,其实原生js已经为我们提供了一个方法,他就是Objectkeys(),它返回一个数组,就可以结合forEach方法遍历对象。
1对象
// 1对象
var a = {
a : 123,
b : 'asd',
c : function() {
consolelog( 'haha' );
}
};
consolelog( Objectkeys( a ) ); // [ 'a', 'b', 'c' ]
2数组
// 2数组
var b = [ 123, 21, 31 ];
consolelog( Objectkeys( b ) ); // [ '0', '1', '2' ]
3构造函数
// 3构造函数
function c() {
thisaa = 123;
thisbb = 'asdas';
thiscc = function() {
}
consolelog( Objectkeys( c ) ); // []
4实例化对象
// 4实例化对象
var d = new c();
consolelog( Objectkeys( d ) ); // [ 'aa', 'bb', 'cc' ]
5字符串
// 5字符串
var e = 'sdf123';
consolelog( Objectkeys( e ) ); // [ '0', '1', '2', '3', '4', '5' ]
每个Img规定一个ID;
<img src="1jpg" id="img1">
<img src="1jpg" id="img2">
<img src="1jpg" id="img3">
点击一个按钮获取src
<input type="button" value="获取src" onclick="aa()">
js中:
function aa(){
var img1 = documentgetElementById("img1")src;
//别的一样获取。这样获取的src是绝对路径
}
或者这样:
function aa(){
var img1 = documentgetElementById("img1")getAttribute("src");
//跟上面效果一样。
}
如果你知道a处于form下的第几级的话,直接thisparentNodeparentNode 写n个parentNode就可以了,否则的话就递归判断
var a = this;var parent = aparentNode;
while(parent tagName == "form")
{
parent = parent parentNode;
}
这样就获取到form了
原生JS是没有根据属性来找到DIV的 如果你非常想用 那就是找到所有DIV的标签 然后在获取他的CLASS属性 进行比较 这样才可以 JQUERY的原理就是这样 只不过他把过程都写到函数里去了
以上就是关于Object.keys()来获取对象的属性全部的内容,包括:Object.keys()来获取对象的属性、JS如何取得当前对象的属性、求大神指导js如何获取标签所在的form对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)