鍍金池/ 問答/HTML/ 如何將append上的div 再加上一些偽元素的類屬性

如何將append上的div 再加上一些偽元素的類屬性

這是append一個div的方法,

var descDiv = document.createElement('div');
document.getElementById("overlay").appendChild(descDiv);
var cssStr = "background-color: rgba(255,255,255,.8);z-index:1088; position:absolute;left:" + Left + "px; top:" + Top + "px;";
descDiv.style.cssText = cssStr;

注意: 這里的Top,Left值是變量。

這里是一個定義氣泡的css, 最終效果見圖形。
圖片描述

有什么簡單的辦法給應(yīng)用到剛才這個descDiv 上嗎? 就可以隨意的指定位置了

 .arrow_box {
    position: relative;
    border: 1px solid #c2e1f5;
    padding: 10px;
    width: 200px;
    height: 100px;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    margin: 50px;
    float: left;
}

.arrow_box:before,
.arrow_box:after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border: solid transparent;
    pointer-events: none;
    content: "";
    border-color: rgba(136, 183, 213, 0);
}
.arrow_box.left:before {
    border-left-color: #c2e1f5;
    border-width: 13px;
    top: 38%;
    left: 100%;
}
.arrow_box.left:after {
    border-left-color: #fff;
    border-width: 10px;
    top: 41%;
    left: 100%;
}
回答
編輯回答
情皺

css里寫好你要寫的偽元素,直接descDiv.classList.add(),把 css類名添加到 descDiv 上。

2018年8月16日 07:10
編輯回答
孤客

樓上2位回答得非常正確,直接用classList.add() 可以直接加偽類的類名

 var helpinfoDiv = document.createElement('div');
    document.getElementById("overlay").appendChild(helpinfoDiv);
    var cssStr2 = "background-color: wsTextColorBlack;z-index:1088; box-shadow: 0 2px 1px rgba(0,0,0,.4); border:2px solid ; position:absolute;left:" + (Left + Width + 25) + "px;top:" + (Top + 0.5 * Height - 15) + "px; width:240px; height:30px;";
    helpinfoDiv.style.cssText = cssStr2;    
    // helpinfoDiv.innerHTML = "<<< Info of " + div_id;
    helpinfoDiv.innerHTML = " Enter Info ";
    helpinfoDiv.style.color = "white";
    helpinfoDiv.classList.add("helpinfoDiv");
    helpinfoDiv.classList.add("helpinfoDiv:before,helpinfoDiv:after");
    helpinfoDiv.classList.add("helpinfoDiv:before");
    helpinfoDiv.classList.add("helpinfoDiv:after");
2018年6月4日 11:13