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>

然后我将以下 html 输入到浏览器上的 (#input textarea) 中。如何单击 go 按钮并通过 id block1 获取“Some text 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

好的,你的问题有点令人困惑,但我想我明白了。您想在 textarea 中键入 HTML,然后使用 JQuery 对其进行解析以获取 的值block1,然后将其输出到另一个 textarea。

这将起作用:

//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());

要在 textarea 中显示一个元素的内部 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 回答