Adding div element to body or document in JavaScript

后端 未结 9 2071
醉梦人生
醉梦人生 2020-11-27 14:14

I am creating a light box in pure JavaScript. For that I am making an overlay. I want to add this overlay to body but I also want to keep the content on the page. My current

相关标签:
9条回答
  • 2020-11-27 14:28

    improving the post of @Peter T, by gathering all solutions together at one place.

    Element.insertAdjacentHTML()

    function myFunction() {
        window.document.body.insertAdjacentHTML( 'afterbegin', '<div id="myID" style="color:blue;"> With some data...</div>' );
    }
    function addElement(){
        var elemDiv = document.createElement('div');
        elemDiv.style.cssText = 'width:100%;height:10%;background:rgb(192,192,192);';
        elemDiv.innerHTML = 'Added element with some data'; 
        window.document.body.insertBefore(elemDiv, window.document.body.firstChild);
        // document.body.appendChild(elemDiv); // appends last of that element
    }
    function addCSS() {
        window.document.getElementsByTagName("style")[0].innerHTML += ".mycss {text-align:center}";
    }
    

    Using XPath find the position of the Element in the DOM Tree and insert the specified text at a specified position to an XPath_Element. try this code over browser console.

    function insertHTML_ByXPath( xpath, position, newElement) {
        var element = document.evaluate(xpath, window.document, null, 9, null ).singleNodeValue;
        element.insertAdjacentHTML(position, newElement);
        element.style='border:3px solid orange';
    }
    
    var xpath_DOMElement = '//*[@id="answer-33669996"]/table/tbody/tr[1]/td[2]/div';
    var childHTML = '<div id="Yash">Hi My name is <B>\"YASHWANTH\"</B></div>';
    var position = 'beforeend';
    insertHTML_ByXPath(xpath_DOMElement, position, childHTML);
    
    0 讨论(0)
  • 2020-11-27 14:28

    Here's a really quick trick: Let's say you wanna add p tag inside div tag.

    <div>
    <p><script>document.write(<variablename>)</script></p>
    </div>
    

    And that's it.

    0 讨论(0)
  • 2020-11-27 14:29

    You can make your div HTML code and set it directly into body(Or any element) with following code:

    var divStr = '<div class="text-warning">Some html</div>';
    document.getElementsByTagName('body')[0].innerHTML += divStr;
    
    0 讨论(0)
  • 2020-11-27 14:33

    The best and better way is to create an element and append it to the body tag. Second way is to first get the innerHTML property of body and add code with it. For example:

    var b = document.getElementsByTagName('body');
    b.innerHTML = b.innerHTML + "Your code";
    
    0 讨论(0)
  • 2020-11-27 14:36

    The modern way is to use ParentNode.append(), like so:

    let element = document.createElement('div');
    element.style.cssText = 'position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;';
    document.body.append(element);

    0 讨论(0)
  • 2020-11-27 14:37

    Using Javascript

    var elemDiv = document.createElement('div');
    elemDiv.style.cssText = 'position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;';
    document.body.appendChild(elemDiv);
    

    Using jQuery

    $('body').append('<div style="position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;"></div>');
    
    0 讨论(0)
提交回复
热议问题