将整个元素插入到另一个元素中,而不仅仅是其内部HTML
Insert a whole element into another element, not just its inner HTML
我试图找出如何使用jQuery构建HTML尽可能理智。据我所知,这应该产生<div><span>Alice</span></div>
,但却产生<div>[object Object]</div>
:
post = $("<div>");
username = $("<span>").html("Alice");
post.append(username);
我发现用post.append(username.html())
替换最后一行让我更接近我的目标,但是如果我这样做的话,它会忽略<span>
标签。我如何插入带有周围标记的子元素,而不编写"<span>" + username + "</span>"
,这似乎是新手完成任务的方法?
EDIT:愚蠢的错误。我上面发布的片段过于简化了;我真的想在我的代码中做post.append(username + another_span_element)
。显然,我不能像这样附加对象。我把它改成了post.append(username); post.append(another_span_element);
,现在它工作得很好。·杜尔!
适合我:$("<div>").append($("<span>").html("Alice"))[0].outerHTML == "<div><span>Alice</span></div>"
您的目标是通过text()方法完成:
post = $("<div>");
username = $("<span>").text("Alice");
post.append(username);
例子。
有不做的理由吗?
$('<div><span>Alice</span></div>').appendTo('body');
或
var username = "Alice";
$('<div><span id="user"></span></div>').appendTo('body');
$(username).appendTo('#user');
或
var username = "Alice";
$('<div><span id="user"></span></div>').appendTo('body');
$('#user').html(username);
或
var username = "Alice";
$('<div><span id="user"></span></div>').appendTo('body');
$('#user').text(username);
或其他200个选项中的任何一个?
相关文章:
- Ajax聊天消息重复而不仅仅是更新
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 事件为所有项目而不仅仅是当前项目激发
- Chrome应用程序在全屏中创建新窗口-html元素不是全高的
- 试图把注意力集中在一个不重要的元素上是不是一种糟糕的做法;不存在
- 在加载时显示,而不仅仅是在选中时显示
- 删除 HttpCookie 不仅仅是它的值
- 如何使元素的宽度和高度为页面(文档)的100%,而不仅仅是窗口(浏览器)
- 使用 querySelectorAll 获取具有该类名的所有元素,而不仅仅是第一个
- 将事件绑定到类中的所有元素,而不仅仅是一个 id
- 我的Javascript正在切换所有元素,而不仅仅是一个元素
- 如何判断数组是否包含另一个特定数组,而不仅仅是其元素
- 在 Web 视图中设置 innerHTML 将替换整个文档,而不仅仅是元素
- 当我检查元素时,我如何使用Javascript设置输入值,而不仅仅是视图,而是元素中的永久值
- 迭代所有节点对象,而不仅仅是元素对象
- 将整个元素插入到另一个元素中,而不仅仅是其内部HTML
- 如何在使用e.target后获得整个(父)元素,而不仅仅是特定的子元素
- 如何从多个元素中获取属性值,而不仅仅是第一个匹配
- 如何在javascript中获取元素的完整开始标签(不仅仅是tagName)
- jsPlumb 放在目标元素上,而不仅仅是端点