将 HTML 元素附加到 javascript 中的当前元素
Appending an HTML element to current element in 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>
这里我从内容中提取了 h3 标签并附加到 'post_description' div 中创建了一个标签。我想在迭代中的 a 标签前添加一个数字计数器。意思是,第一个标签的编号为 1,然后是。
我尝试使用 $index=1,然后尝试附加 $index++。
但是,我想在 a 或 p 标签内添加索引号。这怎么能做到。
期待
谢谢
杰夫
尝试创建一个 span
元素并将其作为子元素附加到循环中-
var spanElem = document.createElement("span");
var cloneElem = node.cloneNode(true);
spanElem.innerHTML = $index++;
cloneElem.href = "somelink url"
cloneElem.appendChild(spanElem);
mElem.appendChild(cloneElem);
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>
我的代码如下
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>
这里我从内容中提取了 h3 标签并附加到 'post_description' div 中创建了一个标签。我想在迭代中的 a 标签前添加一个数字计数器。意思是,第一个标签的编号为 1,然后是。
我尝试使用 $index=1,然后尝试附加 $index++。
但是,我想在 a 或 p 标签内添加索引号。这怎么能做到。
期待
谢谢
杰夫
尝试创建一个 span
元素并将其作为子元素附加到循环中-
var spanElem = document.createElement("span");
var cloneElem = node.cloneNode(true);
spanElem.innerHTML = $index++;
cloneElem.href = "somelink url"
cloneElem.appendChild(spanElem);
mElem.appendChild(cloneElem);
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>