以下代码无法删除" class"来自节点列表的每个节点的属性。我错过了什么吗?
$pubkeyid = openssl_pkey_get_details(openssl_pkey_get_public(file_get_contents("okta.cert")));
$pubkeyid = $pubkeyid["key"];
$signature = "<get it form SAML Response>";
$data = ???? (what should be provided)
$ok = openssl_verify($data, $signature, $pubkeyid,"sha1WithRSAEncryption");
HTML
<button class="choice"></button>
<button class="choice"></button>
<button class="choice"></button>
<button onclick="removeAttr()">REMOVE ATTRIBUTES</button>
Javascript
然而,只需点击几下,您就会得到想要的结果,但我不明白为什么......
答案 0 :(得分:4)
machine1
返回一个实时NodeList。这意味着,当您删除类时,这些元素将不再位于NodeList中。
您可以通过向后循环来解决问题。
10.240.3.167
或者你可以使用while循环。
.getElementsByClassName()
或者您可以使用返回静态NodeList的选择方法,如function removeAttr() {
var i, l, buttons = document.getElementsByClassName('choice');
for (i = 0, l = buttons.length - 1; i >= 0; --i) {
buttons[i].removeAttribute('class');
}
}
function removeAttr() {
var buttons = document.getElementsByClassName('choice');
while(buttons.length) buttons[0].removeAttribute('class');
}