0

(底部失败的JSfiddle)

鉴于JS这样:

// Fill the textarea for testing!
$("#input").val("hello <b>2</b> and <b>3</b>");
// Get the textarea, convert to html string, find b elements, get text content:
$("#input").keyup(function () {
    $('#output').html($("#input").val()).find("b").text();
}).keyup();

给定 HTML 这样的:

<!-- INPUT: -->
<fieldset>
    <textarea id="input"></textarea>
</fieldset>

<!-- OUTPUT: -->
<b>List of text in b balises is:</b>
<div id="output">
    Here should be the list of n strings in b n balises (aka: ["2", "3"])
</div>

如何获取 b 个元素中的 n 个字符串列表?

这目前不起作用,请参阅JSfiddle。用 JSfiddle 回答欣赏。

4

3 回答 3

1

您可以获取文本,将其作为 HTML 放入隐藏元素中,这会将其转换为 DOM 对象,然后您可以导航到该元素并提取其内容。

于 2013-11-01T17:51:54.327 回答
1
// Fill the textarea for testing!
$("#input").val("hello <b>2</b> and <b>3</b>");

// Get the textarea, convert to html string, find b elements, get text content:
$("#input").keyup(function () {
    var $el = $('<div>'+$("#input").val()+'</div>');
    var result = '';
    $.each($el.find('b'),function(){
        result += $(this).text()+' ';
    });

    $('#output').html(result);
}).keyup();
于 2013-11-01T18:02:17.087 回答
0

回答:

// Fill the textarea for testing!
$("#input").val("hello <b>2</b> and <b>3</b>");

// Get the textarea, convert to html string, find b elements, get text content:
$("#input").keyup(function () {
    $('#output').html($('#input').val());
    var list = $('#output').find("b");
    $('#output').html(""); //clean up
    list.each(function( i ) {
        $("#output").append(  "Element "+i+":" + $( this ).text() +"<br />");
    });
}).keyup();

小提琴:http: //jsfiddle.net/6hCwZ/18/

于 2013-11-01T17:52:58.053 回答