2017-05-06 1 views
0

Mon code est donné ci-dessousAjout d'un élément HTML à l'élément courant en javascript

function addElem(){ 
 
    var mElem = document.querySelector('.post_description') 
 
    var hElems = document.getElementsByTagName('H3'); 
 
    var $index=1; 
 
    
 
    var node = document.createElement("a"); 
 
    for(var i=0;i<hElems.length;i++){ 
 
    //console.log(hElems[i].innerHTML); 
 
    var textnode = document.createTextNode(hElems[i].innerHTML); 
 
    var cloneElem = node.cloneNode(true); 
 
    cloneElem.appendChild(textnode); 
 
    mElem.appendChild(cloneElem); 
 
    mElem.appendChild($index++); 
 
    } 
 
}; 
 

 
addElem()
.post_description{ 
 
    height: 150px; 
 
    width:150px; 
 
    background-color:green; 
 
    position:absolute; 
 
    right:0; 
 
    top:0; 
 
} 
 

 
.post_description a{ 
 

 
display:block; 
 
}
<div class="mg_post_description"> 
 
<div class="main_body"> 
 
    <h3>Testing one</h3> 
 
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. ng essentially unchanged</p> 
 

 
    <h3>Testing two</h3> 
 
    <p>Lorem Ipsum is simply Lorem including versions of Lorem Ipsum.</p> 
 

 

 
    <h3>Testing three</h3> 
 

 
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem of Lorem Ipsum.</p> 
 

 
</div> 
 
    </div> 
 

 
<div class="post_description"></div>

Ici, j'ai extrait les balises h3 du contenu et annexé à créé un balises dans le « post_description » div. Je voudrais ajouter un compteur de nombre devant les étiquettes a dans l'itération. Signification, le premier une étiquette aura le numéro 1, puis sur.

J'ai tenté d'utiliser $ index = 1, puis j'ai tenté d'ajouter l'index $ ++.

Cependant, je voudrais ajouter le numéro d'index dans les balises a ou p. Comment cela peut-il être fait.

Dans l'attente

Merci

jeff

Répondre

1

function addElem() { 
 
    var mElem = document.querySelector('.post_description'); 
 
    var hElems = document.getElementsByTagName('H3'); 
 

 
    for (var i = 0; i < hElems.length; i++) { 
 
    var node = document.createElement("a"); 
 
    node.innerHTML = i + 1 + '. ' + hElems[i].innerHTML; 
 
    mElem.appendChild(node); 
 
    } 
 
}; 
 

 
addElem()
.post_description { 
 
    height: 150px; 
 
    width: 150px; 
 
    background-color: green; 
 
    position: absolute; 
 
    right: 0; 
 
    top: 0; 
 
} 
 

 
.post_description a { 
 
    display: block; 
 
}
<div class="mg_post_description"> 
 
    <div class="main_body"> 
 
    <h3>Testing one</h3> 
 
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. ng essentially unchanged</p> 
 

 
    <h3>Testing two</h3> 
 
    <p>Lorem Ipsum is simply Lorem including versions of Lorem Ipsum.</p> 
 

 

 
    <h3>Testing three</h3> 
 

 
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem of Lorem Ipsum.</p> 
 

 
    </div> 
 
</div> 
 

 
<div class="post_description"></div>

+0

Merci pour la réponse. – jeff

1

Essayez de créer un élément span et l'ajouter comme enfant dans boucle-

var spanElem = document.createElement("span"); 
var cloneElem = node.cloneNode(true); 
spanElem.innerHTML = $index++; 
cloneElem.href = "somelink url" 
cloneElem.appendChild(spanElem); 
mElem.appendChild(cloneElem); 
+0

Excuses, j'avais d'autres questions en tête. Veuillez revenir sur la question lorsque j'ai apporté des modifications. Pourriez-vous répondre à la question mise à jour? – jeff