创建span标记并使用Jquery插入

Fra*_*gio 16 html jquery

我正在尝试使用jquery填充我要插入到页面中的span标记.

我试过这个

var span = $('<span />').attr({'className':'folder_name' , 'text':'favre' });
var insert=
$('<div/>', {
    className: "folder",
    html: span
});
Run Code Online (Sandbox Code Playgroud)

这产生了这个结果.

<div classname="folder">
<span classname="folder_name" text="favre"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

然后我试了这个

 var span = $('<span />').attr({'className':'folder_name', 'html':'Elway' });
Run Code Online (Sandbox Code Playgroud)

这产生了这个

 <div classname="folder">
 <span classname="folder_name" html="Elway"></span>
 </div>
Run Code Online (Sandbox Code Playgroud)

我想要得到的是下面

 <div classname="folder">
 <span classname="folder_name" >**Elway**</span>
 </div>
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 32

对象的HTML不是属性,需要单独提供:

var span = $('<span />').attr('className', 'folder_name').html('Elway');
Run Code Online (Sandbox Code Playgroud)

另外,className不是有效属性,你的意思是class,如果是这样的话,请使用:

var span = $('<span />').addClass('folder_name').html('Elway');
Run Code Online (Sandbox Code Playgroud)

  • 很棒的很好的类名捕获,这是另一个错误 (2认同)

Mar*_*ijn 9

我更喜欢原生JS的'createElement'方法.这比单独的jQuery方法快

var $span = $( document.createElement('span') );
$span.addClass('folder_name').html('Elway');
Run Code Online (Sandbox Code Playgroud)


Dan*_*ele 6

试试:

var span = $('<span />').attr('class', 'folder_name').html('Elway');
Run Code Online (Sandbox Code Playgroud)

一个jsFiddle


mam*_*owv 5

我不建议使用自定义属性,例如className,我相信在任何需要的自定义属性前加上 前缀是标准做法data-。话虽如此,您可以使用 jquery 方法$.append()来实现您的目标。

这是一个基本示例:

var div = $('<div />', { 'className':'folder' })
.append('<span className="folder-name">Elway</span>');

$('body').html(div);
Run Code Online (Sandbox Code Playgroud)

链接到有关附加的 jQuery 文档:

http://api.jquery.com/append/