我试图一次为一个元素设置多个属性。我找到了这个答案,以及对那个答案的这个评论。在那里的JSFiddle中,他不使用字符串作为属性名,与使用字符串的答案相反。
我在第7行添加了以下内容:
else if (at[prop] === html) {
this.innerHTML = set[idx];
}
但是我得到了以下错误:
未捕获的引用Error:未定义html
评论JSFiddle(已编辑)
在比较中使用'html'
。还在recursiveset
函数中传递this
上下文,以便将this
引用到div
元素。这个
总是引用我们正在执行的函数的“所有者”。如果没有所有者,它将引用窗口
。
试试这个:
var manipulateAttributes = function(attr, element) {
var recursiveSet = function(at, set) {
for (var prop in at) {
/* check if object and not a dom node or array */
if (typeof at[prop] == 'object' && at[prop].dataset == null && at[prop][0] == null) {
recursiveSet(at[prop], set [prop]);
} else if (prop == 'html') {
this.innerHTML = at[prop];
} else {
set [prop] = at[prop];
}
}
}.bind(element);
recursiveSet(attr, element);
}
var test = document.getElementById("test");
manipulateAttributes({
html: 'hellop',
style: {
background: "lightGreen",
color: "blue",
width: "100px"
},
className: "testclass",
onclick: function(e) {
alert("the test div has been clicked and its width is: " + this.style.width);
}
}, test);
.testclass {
font-size: 32px;
font-weight: bold;
cursor: pointer;
}
<div id="test" style="width:200px;height:200px;background:#000;color:#fff;">Test</div>
如何使用JavaScript同时设置多个属性?不幸的是,我不能在这个项目中使用像jQuery这样的框架。以下是我现在拥有的:
我想立即使用jQuery来完成这个任务。
问题 你需要一个元素中的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>");//
问题内容: 是否可以在CSS中选择多个具有某个特定类,id等父的元素?例如: 如果不是,是否有办法选择该元素的所有子元素? 问题答案: 是否可以在CSS中选择多个具有某个特定类,id等父的元素? 当前,不幸的是,并非没有复制整个父选择器并指定所有后代,而是1: 直到选择器3最终确定后,他们才提出了伪类表示法来进行此操作,直到最近,基本实现才开始出现。 简而言之,现在已成为标准的伪类称为。在遥远的将
我有一个2-d NumPy阵列,看起来像这样: 我想修改它,使每一行都由所有0组成,除了第一个非零条目。如果一开始都是0,我们不会改变任何东西。 我可以这样做: 但这很难看,而且没有矢量化。对如何将其矢量化有什么建议吗? 谢谢
我需要定义一个XML元素,它没有子元素或任何内容,也没有属性。 这就是我正在做的: 这看起来很好,但我想知道是否有一种方法可以做到这一点,而不必声明复杂类型。另外,如果我的东西有什么问题,请告诉我。 预料到有人可能会好奇我为什么需要这样一个元素:它用于不需要任何参数值的SOAP操作。