2
4

4 回答 4

4

你没有一个锚元素数组,你有一个字符串数组。而且你有一个很大的语法错误,因为你试图在双引号字符串中包含双引号而不转义它们。反正:

var array = ["<a href=\"#\" id=\"id1\">First anchor<a>", "<a href=\"#\" id=\"id2\">Second anchor<a>", "<a href=\"#\" id=\"id3\">Third anchor<a>"];

array[2] = array[2].replace(/^(<[^>]+>)([^<]*)(<)/,
                            "$1" + "yourreplacementtexthere" + "$3");

演示:http: //jsfiddle.net/byQcW/

于 2013-04-21T07:22:06.933 回答
3

数组中与 using 相关的语法问题很少,'并且"结束标记 fora是错误的

array = ['<a href="#" id="id1">First anchor</a>', '<a href="#" id="id2">Second anchor</a>', '<a href="#" id="id3">Third anchor</a>'];
array[2] = array[2].replace(/(<a[^>]*?>)(.*)(<\/a>)/, '$1' + 'replacerstring' + '$3');
于 2013-04-21T07:20:50.317 回答
1

尝试这个:

var arr = ['<a href="#" id="id1">First anchor<a>', '<a href="#" id="id2">Second anchor<a>', '<a href="#" id="id3">Third anchor<a>']  
arr[2] = $(arr[2]).text('Your text here').prop('outerHTML');
于 2013-04-21T07:24:51.323 回答
0

如果你想要一个锚标签数组,那么 jQuery 的map方法会让这个变得微不足道:

var strings = ["<a href='#' id='id1'>First anchor</a>", "<a href='#' id='id2'>Second anchor</a>", "<a href='#' id='id3'>Third anchor</a>"];

var anchor_elements = $.map(strings, function(el){
  return $(el).get();
});

您现在可以使用 jQuery 轻松更改任何元素的文本:

$(anchor_elements[2]).text('New text');
于 2013-04-21T09:22:14.947 回答