如何获取HTML元素的所有属性? 例如,我有一个元素:
<input type="text" class"cls1" id="myId" name="myName"/>
我希望看到可以用于此输入的所有属性/属性,而不仅仅是已经分配的属性(类型,类,id,名称),但是可以在此元素上使用的所有可用属性。
使用此方法,我只能看到已分配的属性:|
var attr = document.getElementById("myId").attributes;
console.log(attr);
答案 0 :(得分:2)
var el = document.getElementById("myId");
var nodes=[], values=[];
for (var att, i = 0, atts = el.attributes, n = atts.length; i < n; i++){
att = atts[i];
nodes.push(att.nodeName);
values.push(att.nodeValue);
console.log(att.nodeName + " - " + att.nodeValue);
}
答案 1 :(得分:1)
你可以这样做,
var attr = document.getElementById("myId").attributes;
for (var key in attr) {
if (typeof attr[key] != 'function')
console.log(attr[key]);
}
答案 2 :(得分:0)
我认为您可以使用
获取所有可枚举的属性- (UIImage *) scaleToSize: (CGSize)size
{
// Scalling selected image to targeted size
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, size.width, size.height, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast);
CGContextClearRect(context, CGRectMake(0, 0, size.width, size.height));
if(self.imageOrientation == UIImageOrientationRight)
{
CGContextRotateCTM(context, -M_PI_2);
CGContextTranslateCTM(context, -size.height, 0.0f);
CGContextDrawImage(context, CGRectMake(0, 0, size.height, size.width), self.CGImage);
}
else
CGContextDrawImage(context, CGRectMake(0, 0, size.width, size.height), self.CGImage);
CGImageRef scaledImage=CGBitmapContextCreateImage(context);
CGColorSpaceRelease(colorSpace);
CGContextRelease(context);
UIImage *image = [UIImage imageWithCGImage: scaledImage];
CGImageRelease(scaledImage);
return image;
}
演示:Fiddle
Object.Keys() - 对于older browsers,请使用polyfill
答案 3 :(得分:0)
尝试 console.dir()
。
console.dir(document.getElementById('myId'));
答案 4 :(得分:0)
var attr = document.getElementById("myId").attributes;
for(var key in attr){
var element = attr[key];
if(typeof element == 'object'){
console.log(element.name );
console.log(element.value);
}
}