0

我有一个字符串,其中包含文本和一些<a>标签;我想知道如何从变量中选择一个标签并循环它。我尝试了以下但没有奏效:

var text = `some string here with <a href="#link">http:something.com</a> more string and more links also`;

$('a', text).each(function() {

            var string = $(this).html();
            $(this).html(string.substring(0, length-1)+(string.length > length ? end : ''));

        });
4

2 回答 2

5

您需要将文本包装在 div (或其他元素)中,然后find()

var text = 'some string here with <a href="#link">http:something.com</a> more string and more links also';

text = $('<div>' + text + '</div>');

text.find('a').each(function() {
    var length = 10;
    var end = '...';

    var string = $(this).html();
    $(this).html(string.substring(0, length) + (string.length > length ? end : ''));
});

var text = text.html();

// Put it into a textarea
$('#myTextarea').val(text);
于 2009-10-12T09:44:28.250 回答
0

代替

$('a', text).each(function() {

$(text, 'a').each(function() {

看看它是否有效。

于 2009-10-12T09:42:37.447 回答