作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当单击页面上的复选框时,我会抓取它包含的元素并将整个 block 附加到页面的另一部分。像这样:
$('.favourite [type="checkbox"]').change(function () {
var check = $(this),
checked = $(check).attr("checked"),
id = $(check).attr("id").split("-")[1],
parent = $("#food-" + id),
parentContent = $("<div />").append($("#food-" + id).clone()).html(),
favelist = $(".favourites .content");
if (checked === "checked") {
$(favelist).append(parentContent);
}
});
我希望在将新复选框粘贴到收藏夹中时选中它。我可以对parentContent(包含复选框和周围元素的HTML block )做些什么,以便在附加它时已经检查过它吗?
最佳答案
您不需要将字符串附加到 favelist,您可以立即附加 jQuery 元素。通过这样做,通过 DOM 设置的所有属性和样式都将保留,例如 checked
.
这意味着您可以删除 $("<div />").append(
和).html()
.
生成的代码如下。
$('.favourite [type="checkbox"]').change(function () {
var check = $(this),
checked = $(check).attr("checked"),
id = $(check).attr("id").split("-")[1],
parent = $("#food-" + id),
parentContent = $("#food-" + id).clone(),
favelist = $(".favourites .content");
if (checked === "checked") {
$(favelist).append(parentContent);
}
});
它也会更快。
关于javascript - 附加到页面的其他部分时,将复选框的值设置为 "checked",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19593891/
我是一名优秀的程序员,十分优秀!