1

私が信じている私のjQueryの質問は非常に単純で、それが私を狂わせてしまいます。

プロパティ「コンテンツ」を持つオブジェクトがあります。そのオブジェクトを取得し、jQuery でプロパティ「コンテンツ」を操作してから、jQuery が作成する新しい値で値を上書きできるようにしたいと考えています。

例:

o.content = "<div><span>hello</span></div>";
$('div', o.content).addClass('test');

この時点で、o.content を次のようにしたい<div class='test'><span>hello</span></div>

私は一生、構文を理解することはできません。どんな助けでも本当に感謝しています。

4

7 に答える 7

2

で html を解析しo.content、クラスを追加し、解析した html を new に追加して<div>、新しい div の html を取得します。

o.content = "<div><span>hello</span></div>";
var el = $(o.content).addClass('test');
o.content = $("<div>").append(el).html();

編集:o.contentこれは、jQuery オブジェクトではなく文字列を引き続き含めることを前提としています。その場合、それはより簡単です:

o.content = $(o.content).addClass('test');
于 2012-11-16T20:50:58.313 に答える
2

これが必要な場合、これにより文字列が得られます<div class="test"><span>hello</span></div>

$(o.content).addClass('test').wrap('<div>').parent().html();
于 2012-11-16T20:51:55.640 に答える
1

あなたは以下が欲しい

o.content = "<div><span>hello</span></div>";
// Create a jQuery object you can call addClass on
var docFragment = $(o.content);
docFragment.addClass('test');
// Since there's no outerHTML in jQuery, append it to another node
var wrapper = $('div');
docFragment.appendTo(wrapper);
// The HTML of the wrapper is the outerHTML of docFragment
console.log(wrapper.html()); // outputs <div class='test'><span>hello</span></div>
于 2012-11-16T20:58:39.570 に答える
1

すべてを1行で実行してみませんか。

var o = {};
o.content = $( "<div></div>" )     // create element
    .addClass('test')              // add class
    .html( '<span>hello</span>' ); // append content

フィドル: http: //jsfiddle.net/kboucher/eQmar/

于 2012-11-16T20:59:43.733 に答える
1
o.content = $("<div><span>hello</span></div>");
o.content.addClass('test');

この例では、o.contentは単なる文字列ではなくjQueryオブジェクトです。これがjsfiddleのデモです:http://jsfiddle.net/cvbsm/1/

于 2012-11-16T21:00:32.630 に答える
1

jquery関数contextのドキュメントから、

コンテキストとして使用するDOM要素、ドキュメント、またはjQuery

コンテキスト(o.content)は文字列です。また、jQuery関数はコンテキスト全体を選択することはできず、そのコンテキスト内の要素のみを選択できます。

代わりにこれを試してください:

// make o.content a jquery element, not a string
o.content = $("<div><span>hello</span></div>");

// select on something inside the context (inside the div), not the div itself
$('span', o.content).addClass('test');

http://jsfiddle.net/JfW4Q/

于 2012-11-16T20:54:21.727 に答える
1

そのような文字列から要素を検索できるとは思いません..以下のようにしたいのですが、

var content = "<span>hello</span>";
content = $('<div/>', {class: 'test'}).html(content)

デモ: http://jsfiddle.net/k4e5z/

于 2012-11-16T20:51:30.357 に答える