我嘗試使用 js 更改 html 元素的所有填充,例如:
const pd = 1
document.getElementsByClassName('board')[0].style.paddingRight = pd 'px'
document.getElementsByClassName('board')[0].style.paddingLeft = pd 'px'
document.getElementsByClassName('board')[0].style.paddingTop = pd 'px'
document.getElementsByClassName('board')[0].style.paddingBottom = pd 'px'
但它將填充設定為 1px。
如果其中一行被洗掉,例如:
const pd = 1
document.getElementsByClassName('board')[0].style.paddingRight = pd 'px'
document.getElementsByClassName('board')[0].style.paddingTop = pd 'px'
document.getElementsByClassName('board')[0].style.paddingBottom = pd 'px'
其他值設定正確。
誰能解釋為什么會發生這種情況,我該如何解決?
uj5u.com熱心網友回復:
因為我不能評論所以我試著回答
你能告訴我你的測驗結果和你想要什么嗎
你的 javascript 腳本沒有問題
如果你想改變所有的填充為什么不
selector.style.padding = "1px"
或者
Selector.style.padding = "1px 1px 1px 1px"
你打那么多字的原因是什么???
uj5u.com熱心網友回復:
當您為以下 CSS 屬性設定相同的值(在您的示例中為 1px)時:
padding-bottom, padding-left, padding-right, padding-top(所有邊) - 它與padding: 1px;.
此外,如果您設定相同的值(例如2像素)的padding-right和padding-left,以及相同的值padding-top和padding-bottom(例如1像素) -你會看到padding: 1px 2px;
片段:
var pd = 1;
var pd2 = 2;
document.getElementsByClassName('board')[0].style.paddingTop = pd 'px'
document.getElementsByClassName('board')[0].style.paddingRight = pd2 'px'
document.getElementsByClassName('board')[0].style.paddingBottom = pd 'px'
document.getElementsByClassName('board')[0].style.paddingLeft = pd2 'px'
<div class="board">board</div>
檢查此MDN 的圖表以查看所有組合。
uj5u.com熱心網友回復:
那是因為您傳遞的是整數而不是字串,為了更改填充屬性,您應該使用字串。
有很多方法可以解決它,但如果所有填充都相同,那么只需修改填充屬性。
將您的常量更改為字串:
const pd = '1';
document.getElementsByClassName('board')[0].style.padding = pd;
'1' 默認為 1px,如果你想指定其他指標就寫它,比如 '1em', '1%' 等。
此外,您可以使用
document.querySelector('.board')
選擇板類的第一個元素,而不是全選并按索引修改
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/340775.html
標籤:javascript html
