18

jquery を使用してページに挿入するスパン タグを設定しようとしています。

私はこれを試しました

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

この結果が得られました。

<div classname="folder">
<span classname="folder_name" text="favre"></span>
</div>

それから私はこれを試しました

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

これをもたらした

 <div classname="folder">
 <span classname="folder_name" html="Elway"></span>
 </div>

私が取得しようとしているものは以下です

 <div classname="folder">
 <span classname="folder_name" >**Elway**</span>
 </div>
4

8 に答える 8

37

オブジェクトの HTML は属性ではなく、個別に提供する必要があります。

var span = $('<span />').attr('className', 'folder_name').html('Elway');

また、className有効な属性ではありません。class代わりに、これを使用する場合:

var span = $('<span />').addClass('folder_name').html('Elway');
于 2013-08-12T14:52:47.050 に答える
10

私はネイティブ JS の「createElement」メソッドを好みます。これは jQuery メソッド単独よりも高速です

var $span = $( document.createElement('span') );
$span.addClass('folder_name').html('Elway');
于 2013-08-12T14:55:34.650 に答える
6

試してみてください:

var span = $('<span />').attr('class', 'folder_name').html('Elway');

jsFiddle _

于 2013-08-12T14:55:44.920 に答える
4

のようなカスタム属性を使用することはお勧めしません。className必要なカスタム属性の前に を付けるのが標準的な方法だと思いますdata-。そうは言っても、jquery メソッドを使用し$.append()て目的を達成できます。

以下に基本的な例を示します。

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

$('body').html(div);

appendに関する jQuery ドキュメントへのリンク:

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

于 2013-08-12T15:14:57.377 に答える
2

最後にhtmlを追加してみてください

var span = $('<span />').attr({'className': 'folder_name'}).html('html here');

Rory McCrossan の提案

変更するよりも独自の属性として使用classNameしている場合、独自の属性を発明するとページが無効になり、他の問題が発生します。独自の属性を作成する必要がある場合は、data-*

ただし、クラスの場合は変更しますclass

于 2013-08-12T14:53:28.660 に答える
2
var span = $('<span />',{
    className:'folder_name' , 
    html:'Elway' 
});

var insert = $('<div/>', {
    className: "folder",
    html: span
});

デモ

于 2013-08-12T14:59:03.747 に答える