点击CLICK HERE
时。 id="one"
更改为id="two"
没关系。但是class="one"
没有更改为class="two"
,我该怎么办?
.one{
background: red;
}
.two{
background: yellow;
}
<div onclick="test_fn()">
CLICK HERE
</div>
<script>
function test_fn(){
document.getElementById('one').id = 'two';
document.getElementById('one').classname = 'two';
}
</script>
<br>
<div id="one" class="one">
test
</div>
答案 0 :(得分:5)
首先,您需要使用属性className
,而不是classname
。
然后,您刚刚将id
元素的one
从two
更改为id
,因此您需要选择two
function test_fn() {
document.getElementById('one').id = 'two';
document.getElementById('two').className = 'two';
}
上的元素你的下一行:
.one {
background: red;
}
.two {
background: yellow;
}
&#13;
<div onclick="test_fn()">CLICK HERE</div>
<div id="one" class="one">test</div>
&#13;
function test_fn() {
let elem = document.getElementById('one');
elem.id = 'two';
elem.className = 'two';
}
&#13;
编辑:您还可以在编辑其属性之前存储该元素:
element = driver.find_element_by_xpath("//div[@class='blockUI blockOverlay']")
driver.execute_script("arguments[0].style.visibility='hidden'", element)
答案 1 :(得分:1)
试试这个,它的工作!
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(note: Note): Long
Log.v("tag", "Id: " + insert(note))
document.getElementById('two').className = 'two';
/*Spelling correction "classname" to className & getElementById('one') to getElementById('two') */
答案 2 :(得分:0)
您已在通话中更改了选择器的ID。首先将元素分配给变量:
var foundEl = document.getElementById('one');
foundEl.id = 'two';
foundEl.className = 'two';
答案 3 :(得分:0)
您使用classname
代替className
这是一个有效的例子......
<div onclick="test_fn()">
CLICK HERE
</div>
<script>
function test_fn(){
document.getElementById('one').id = 'two';
document.getElementById('one').className = 'two';
}
</script>
<br>
<div id="one" class="one">
test
</div>
答案 4 :(得分:0)
要将课程one
更改为two
,您可以尝试在test_fn
功能上添加此内容:
document.getElementById('one').removeClass('one').addClass('two');
答案 5 :(得分:0)
它是因为你在将它改为2之后通过id查询。存储您想要在变量中首先更改的元素,然后执行更改:
let el = document.querySelector('one');
el.id = 'two';
el.className = 'two'
答案 6 :(得分:0)
这是因为您的js代码逐行执行synchronously
。
因此,当您调用test_fn()
并执行行document.getElementById('one').id = 'two';
时,<div id="one" class="one">
DOM元素将更改为<div id="two" class="one">
。
接下来,执行第document.getElementById('one').classname = 'two';
行但会导致错误TypeError: document.getElementById(...) is null
,因为您尝试获取id =“1”的元素但是,这次因为您之前更改了它而无法找到它id =“two”;-P