当前位置: 首页 > 知识库问答 >
问题:

用JavaScript同时为一个元素设置多个属性

衡丰茂
2023-03-14

如何使用JavaScript同时设置多个属性?不幸的是,我不能在这个项目中使用像jQuery这样的框架。以下是我现在拥有的:

var elem = document.createElement("img");

elem.setAttribute("src", "http://example.com/something.jpeg");
elem.setAttribute("height", "100%");
elem.setAttribute("width", "100%");

共有1个答案

卢鸿彩
2023-03-14

您可以使用object.assign(...)将属性应用于创建的元素。尽管有些“属性(elem.height等)是只读的,即只有getter(未定义的setter)的访问器。”

请记住,heightwidth属性是以像素而不是百分比定义的。您必须使用CSS来使其流畅。

var elem = document.createElement('img')
Object.assign(elem, {
  className: 'my-image-class',
  src: 'https://dummyimage.com/320x240/ccc/fff.jpg',
  height: 120, // pixels
  width: 160, // pixels
  onclick: function () {
    alert('Clicked!')
  }
})
document.body.appendChild(elem)

// One-liner:
// document.body.appendChild(Object.assign(document.createElement(...), {...}))
.my-image-class {
  height: 100%;
  width: 100%;
  border: solid 5px transparent;
  box-sizing: border-box
}

.my-image-class:hover {
  cursor: pointer;
  border-color: red
}

body { margin:0 }
 类似资料:
  • 我试图一次为一个元素设置多个属性。我找到了这个答案,以及对那个答案的这个评论。在那里的JSFiddle中,他不使用字符串作为属性名,与使用字符串的答案相反。 我在第7行添加了以下内容: 但是我得到了以下错误: 未捕获的引用Error:未定义html 评论JSFiddle(已编辑)

  • 我想立即使用jQuery来完成这个任务。

  • 我有一个名为的简单函数: 我想知道除了这个以外,是否还有其他方法可以添加某些属性的值:等于,等于等。 我试过这样的方法: 但那行不通。我知道尝试它可能是愚蠢的(因为我的IDE说这个表达式不能分配给类型HTML元素^^')。

  • 本文向大家介绍jQuery使用CSS()方法给指定元素同时设置多个样式,包括了jQuery使用CSS()方法给指定元素同时设置多个样式的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery使用CSS()方法给指定元素同时设置多个样式的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的jQuery程序设计有所帮助。

  • 我有一个面试问题。写入包含以下方法的类UnlimitedArrayInt。每种方法的复杂性应为O[1]:–所有整数都设置为给定的数字;*–返回给定索引处的数字。索引可以是任何正整数值;*void在给定索引处设置编号。数组不受限制,所以它可以是任何正整数值;数字可以是任何整数值。正如他们告诉我的那个样,这个解决方案不是基于正则数组的。那么,有谁能解释一下什么样的数据结构更适合使用,以及如何实现复杂度

  • 问题 你需要一个元素中的HTML内容 方法 可以使用Element中的HTML设置方法具体如下: Element div = doc.select("div").first(); // <div></div> div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum</p></div> div.prepend("<p>First</p>");//