2
var s = '<h1>heading</h1><p>para</p>';
var $s = $(s).not('h1');
alert($s);

このメッセージは、「[オブジェクトオブジェクト]」とだけ言っています。実はHTMLStringを取得したいのですが

<p>para</p>

次に、そのHTMLStringをDIVタグに挿入します。

$("#_Div_PreviewPane").html($s);

_Div_PreviewPaneはDIV要素です。

すべての提案をいただければ幸いです。

更新しました

コードを変更させてください。実際のコードは次のようになります。

var s = 'aaa<br /> '+
'<br />'+
'<div class="_Individual_Product_">'+
'<table style="width: 385px; height: 105px;" cellspacing="0" cellpadding="0">'+
 '   <tbody>'+
 '       <tr>'+
 '           <td> <img class="RotatorImage" id="CMSEditor_thumbRotator_i1_smallImage"     style="width: 100px; height: 100px;" alt="Product image" src="http://localhost:59761/Images/Products/Accommodation2.jpg" /> </td>'+
 '           <td>'+
 '           <table style="width: 285px; height: 100%;" cellspacing="0" cellpadding="0">'+
 '               <tbody>'+
 '                   <tr>'+
 '                       <td>Field Accommodation Master 1</td>'+
 '                       <td> <select class="dynamicDropDownList"     id="ddl_FieldAccommodationMaster1">'+
 '                       <option value="1">Desc 1</option>'+
 '                       <option value="3">Desc 3</option>'+
 '                       <option value="2">Desc 2</option>'+
 '                       </select> </td>'+
 '                   </tr>'+
 '               </tbody>'+
 '           </table>'+
 '           </td>'+
 '       </tr>'+
'    </tbody>'+
'</table>'+
'</div>';
var $s = $(s).not('div._Individual_Product_');
alert($s);
alert($s.html());

$("#_Div_PreviewPane").html($s);
4

6 に答える 6

2

次の変更を行うと、コード内でjQueryが非要素文字列を無視し、実際には親要素を持たないtextNodesalert($s)が無視されるため、空の文字列が返されます。

var s = 'aaa<br /> '+

に:

var s = '<p>aaa</p><br /> '+

not次に、メソッドを使用でき、textメソッドは文字列を返しaaaます。

http://jsfiddle.net/XMkSk/

于 2012-10-24T03:23:31.283 に答える
2

最初にコードをオブジェクトにラップする必要があります(ここではを使用しますdiv)。そうしないと、すべてが1つのjQueryオブジェクトに変換されません。次に、不要なオブジェクトを削除し、コンテンツをで返します.html()

// Wrap and create Jquery element
var $s = $('<div>' + s + '</div>');
// Remove unwanted elements
$s.find('._Individual_Product_').remove();
// Return result
alert($s.html());

デモ

于 2012-10-24T03:32:40.440 に答える
0

コードは問題ありませんが、テキストの使用を警告するために

alert($s.text());

それ以外の

alert($s);

$sはjQueryであるためobject、を使用するconsole.log($s)と、が表示されます <p>para</p>

于 2012-10-24T02:36:46.683 に答える
0

これを試して:

<div id="mydiv"></div>
<script>
var s = '<h1>heading</h1><p>para</p>';
s = $(s).not('h1');
$('#mydiv').html(s);
</script>

</ p>

例: http: //jsfiddle.net/66WZY/1/

于 2012-10-24T02:36:56.717 に答える
0

コードを次のように変更してみてください。

var s = '<h1>heading</h1><p>para</p>';
var $s = '<p>'+$(s).not('h1').html()+'</p>';
alert($s);
于 2012-10-24T02:37:46.140 に答える
0

これを試して :

var s = '<h1>heading</h1><p>para</p>';
var $s = $(s).not('h1');
alert($s.html());

.html()はhtml文字列を返します

于 2012-10-24T02:41:11.083 に答える