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。如何单击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,然后它将用#output textarea中的id和输出替换文本....
答案 0 :(得分: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);
Here is a working example,但您需要确保输入的HTML有效...
<div id="block1">Some text 1</div>
<div id="block2">Some text 2</div>
请注意使用</div>
答案 1 :(得分: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)答案 2 :(得分:-1)
显示另一个textarea的值:
$('#output').val($('#input').val());
显示textarea中一个元素的内部HTML:
$('#output').val($('#myelem').html());
仅显示文字:
$('#output').val($('#myelem').text());
答案 3 :(得分:-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/