1

HTML:

<textarea name="input" cols="50" rows="10" id="input"></textarea>
<input name="submit" id="submit" type="button" value="Go" />
<br /><br />
<textarea name="output" cols="50" rows="10" id="output"></textarea>

次に、ブラウザの (#input textarea) に次の html を入力します。移動ボタンをクリックして、id block1 で「テキスト 1」を取得し、(#output textarea) に表示するにはどうすればよいですか。

<div id="block1">Some text 1<div>
<div id="block2">Some text 2<div>

JS:

$('#submit').click(function(){
$('#output').val( {{{#input.val-->#block1.val}}} );
});

私の目的は、#input textarea に html を入力すると、テキストが id に置き換えられ、#output textarea に出力されます ....

4

4 に答える 4

3

わかりました、あなたの質問は少し混乱していますが、私はその考えを理解していると思います. テキストエリアに HTML を入力し、それを JQuery で解析して の値を取得し、block1それを別のテキストエリアに出力します。

これはうまくいきます:

//get the input value (html)
var input = $("#input").val();

//convert to JQuery object
var html = $("<div/>");
html.html(input);

//get the value of block1
var block1 = html.find("#block1").text();

//set this to output
$("#output").val(block1);

これは実際の例ですが、入力htmlが有効であることを確認する必要があります...

<div id="block1">Some text 1</div>
<div id="block2">Some text 2</div>

の使用に注意してください</div>

于 2013-08-01T08:17:54.230 に答える
0

textarea から .val() を取得し、$()メソッドでラップして jQuery オブジェクトとして解釈し、このオブジェクトをフィルタリングする必要があります。

var theTextareaHTML = $('#input').val();
var $HTMLasObject = $('<div/>').html(theTextareaHTML);
var contentFromblock1 = $HTMLasObject.find('#block1').text();
$('#output').val(contentFromblock1);

編集: musefan のおかげで、不足しているラッパー要素を追加しました

編集:申し訳ありませんが、まだ不具合がありました。これでうまくいくはずです(http://jsbin.com/ecuqug/1

于 2013-08-01T08:17:59.740 に答える
-1

あるテキストエリアの値を別のテキストエリアに表示するには:

$('#output').val($('#input').val());

テキストエリア内の 1 つの要素の内部 HTML を表示するには:

$('#output').val($('#myelem').html());

テキストだけを表示するには:

$('#output').val($('#myelem').text());

ここをクリックして、val() についてお読みください。

于 2013-08-01T08:12:30.173 に答える
-2

以下を試してください:

$('#submit').click(function(){
  var $inp = $("#input");    
  var $div = $("<div/>",{"html":$inp.val(), "id":"block1"});    
  $("#output").val( $div.html() + " By " + $div.attr("id"));
});

ここで働くフィドル:http://jsfiddle.net/3b5cV/2/

于 2013-08-01T08:15:32.290 に答える