2

观察:

<span class="description">

Not This person?
<a href="http://www.example.com" target="_self">Click Here</ >

</span>

我想编辑“描述”类的“不是这个人”部分以及“单击此处”部分,而不触及锚标记“href”属性。

jQuery可以做到这一点吗?

很抱歉解释得太糟糕了,这里有一个更好的解释:

好的,所以这段 HTML 写在 Pardot 中的布局模板中,它将生成“描述”范围内的内容。这将包括锚点及其文本“单击此处”。在编辑器中,HTML 如下所示:

<span class="description">

%%description%%

</span>

在浏览器中,它将生成以下内容:

<span class="description">

Not This person?
<a href="http://www.example.com" target="_self">Click Here</a >

</span>

我想用 jQuery 编辑“不是这个人”和“点击这里”元素!抱歉之前不够清楚!

4

3 回答 3

1

编辑

由于您无法修改结构,您可以使用此代码从中提取<a><span>更新两个元素,然后合并它们:

var desc = $(".description");
var a = desc.find("a");
var href = a.attr('href');
var target = a.attr('target');
desc.html("New description text" + '<a href="'+href+'" target="'+target+'">New link label</a>');

原始答案

您应该分隔文本节点“不是这个人?” 从一个,也许是通过搬出跨度?考虑这个结构:

<span id="your_description_id" class="description">
Not This person?
</span>

<a id="your_anchor_id" href="http://www.example.com" target="_self">Click Here</a>

然后你可以像这样用 jQuery 编辑这些文本:

$("#your_description_id").text("new description");
$("#your_anchor_id").text("new link label");
于 2012-04-30T12:04:30.617 回答
0

演示 jsBin

   var $temp = $('.description').find('a').text('LINK').remove(); // edit, remove and store in a 'variable'
   $('.description').text('I am this person! ').append($temp); // attach
于 2012-04-30T12:24:38.617 回答
0

如果你能够包装“不是这个人?” 在另一个跨度中,您可以使用 $('span.description span') 和 $('span.description a') 找到它们并进行编辑等。

var englishVersion=$('span.description span').text();
var frenchVersion=somefunction(englishVersion);
$('span.description span').text(frenchversion);

ETC

于 2012-04-30T11:59:49.713 回答