如何包装两个动态 HTML 元素?
How to wrap two dynamic HTML elements?
我在下面 jquery 创建了动态 html 结构
var data = [{
"name": "Afghanistan",
"code": "A"
}, {
"name": "AndorrA",
"code": "A"
}, {
"name": "Bouvet Island",
"code": "B"
}, {
"name": "Cook Islands",
"code": "C"
}];
$.each(data, function(key, val) {
if (!$("#aZContent ul." + val.code).is("*")) {
$("<ul />", {
"class": val.code,
"html": "<li>" + val.name + "</li>"
})
.appendTo("#aZContent ol")
.before('<b class=' + val.code + '>' + val.code + '</a></b>');
} else {
$("b." + val.code).each(function() {
if (this.textContent === val.code) {
$(this).next("ul").append("<li>" + val.name + "</li>");
}
})
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="aZContent">
<ol></ol>
</div>
如何用 "li"
包裹 "b" 和 "ul" 元素
<li>
<b></b>
<ul>
<li></li>
</ul>
</li>
尝试利用 $.each()
、.appendTo()
、.append()
;设置 ol li
, b
class
到 code
属性 of data
.
$(function() {
var data = [{
"name": "Afghanistan",
"code": "A"
}, {
"name": "Bouvet Island",
"code": "B"
}, {
"name": "Cook Islands",
"code": "C"
}];
$.each(data, function(key, val) {
if (!$("#aZContent ul." + val.code).is("*")) {
// append `<li>` to `ol`
$("<li />", {
// set `class` to `val.code`
"class": val.code,
// set `li` `html` to `b` , `ul` , `li`
"html": "<b class=" + val.code + ">" +
val.code + "</a></b>" +
"<ul><li>" +
val.name + "</li></ul>"
})
.appendTo("#aZContent ol")
} else {
$("b." + val.code).each(function() {
if (this.textContent === val.code) {
// append `li` to `ul`
$(this).next("ul").append("<li>" + val.name + "</li>");
}
})
};
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div id="aZContent">
<ol></ol>
</div>
我在下面 jquery 创建了动态 html 结构
var data = [{
"name": "Afghanistan",
"code": "A"
}, {
"name": "AndorrA",
"code": "A"
}, {
"name": "Bouvet Island",
"code": "B"
}, {
"name": "Cook Islands",
"code": "C"
}];
$.each(data, function(key, val) {
if (!$("#aZContent ul." + val.code).is("*")) {
$("<ul />", {
"class": val.code,
"html": "<li>" + val.name + "</li>"
})
.appendTo("#aZContent ol")
.before('<b class=' + val.code + '>' + val.code + '</a></b>');
} else {
$("b." + val.code).each(function() {
if (this.textContent === val.code) {
$(this).next("ul").append("<li>" + val.name + "</li>");
}
})
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="aZContent">
<ol></ol>
</div>
如何用 "li"
包裹 "b" 和 "ul" 元素<li>
<b></b>
<ul>
<li></li>
</ul>
</li>
尝试利用 $.each()
、.appendTo()
、.append()
;设置 ol li
, b
class
到 code
属性 of data
.
$(function() {
var data = [{
"name": "Afghanistan",
"code": "A"
}, {
"name": "Bouvet Island",
"code": "B"
}, {
"name": "Cook Islands",
"code": "C"
}];
$.each(data, function(key, val) {
if (!$("#aZContent ul." + val.code).is("*")) {
// append `<li>` to `ol`
$("<li />", {
// set `class` to `val.code`
"class": val.code,
// set `li` `html` to `b` , `ul` , `li`
"html": "<b class=" + val.code + ">" +
val.code + "</a></b>" +
"<ul><li>" +
val.name + "</li></ul>"
})
.appendTo("#aZContent ol")
} else {
$("b." + val.code).each(function() {
if (this.textContent === val.code) {
// append `li` to `ul`
$(this).next("ul").append("<li>" + val.name + "</li>");
}
})
};
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div id="aZContent">
<ol></ol>
</div>