PHP & JavaScript Room :: 設置サンプル

実行結果

ソース

<!-- 
ex. 第1引数にTRUEを指定し、LI要素の子ノード(INPUT要素)を含めて複製する。
 -->

<style type="text/css">
ol#boxies {
    margin:0; padding:0 0 0 26px;
    list-style-type:decimal;
}
    ol#boxies li {
        margin:0 0 5px 0; padding:0;
        font-weight:bold; 
    }
    ol#boxies li.bg01 input {
        border:1px solid #666;
        background-color:#eee;
    }
    ol#boxies li.bg02 input {
        border:1px solid #666;
        background-color:#ffffff;
    }
</style>

<form action="#">
    <p><input type="button" value="ノード複製" onclick="fCopyNode()" /></p>
    <ol id="boxies">
        <li id="mbox1" class="bg02"><input type="text" name="t1" size="50" maxlength="10" /></li>
    </ol>
</form>

<script type="text/javascript">
function fCopyNode(){
    /* コピー元ノード */
    var copyObj=document.getElementById("mbox1");
    /* クローンノード(ノード複製) */
    var cloneObj=copyObj.cloneNode(true);
    /* 親ノード */
    var parentObj=document.getElementById("boxies");
    /* クローンノードにID名、クラス名を付与 */
    var nodeLen=parentObj.childNodes.length+1;
    cloneObj.id="mbox"+nodeLen;
    cloneObj.className="bg0"+(parseInt(nodeLen%2)+1)
    /* ノード追加 */
    parentObj.appendChild(cloneObj);
}
</script>

polarized women