如何使用jquery将HTML标题文本复制/克隆到href mailto主题行?

时间:2014-11-26 08:03:18

标签: jquery clone href mailto

我想获取h1标题文本并将其添加到mailto的主题行。我得到了这个。我只是不知道如何替换标题'用正确的表达方式。克隆是否会朝着正确的方向发展?谢谢你看看!

<h1>Headline</h1>
<div id="mailme"><a href="mailto:me@me.com?subject=">Email Link</a></div>


$('#mailme a').each(function() {
$(this).attr('href', $(this).attr('href') + 'replace this with the h1 headline');
});

感谢所有投入解决方案的人。我在一个简单的HTML页面模板中使用它,其中客户端正在编辑内容但没有HTML技能。每个内容页面都有一个电子邮件按钮,该按钮使用以下脚本之一根据页面标题自定义电子邮件主题行。我希望其他人也会觉得这很有用。

4 个答案:

答案 0 :(得分:2)

你走了。假设您的HTML结构保持不变,首先,我们使用.closest函数选择#mailme作为链接的祖先。然后,我们使用.prev函数选择#mailme的前一个兄弟。查看工作代码段。

var headline;
$('#mailme a').each(function() {
  headline = $(this).closest('#mailme').prev('h1').text();
 $(this).attr('href', $(this).attr('href') + headline);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<h1>Headline</h1>
<div id="mailme"><a href="mailto:me@me.com?subject=">Email Link</a></div>

答案 1 :(得分:1)

$('#mailme a').each(function() {
    $(this).attr('href', $(this).attr('href') + $('h1').text());
});

这应该有用。

如果您有多个h1标签(正如biko所指出的那样),以下内容将起作用

$('#mailme a').each(function() {
    $(this).attr('href', $(this).attr('href') + $(this).closest('#mailme').prev('h1').text());
});

答案 2 :(得分:1)

使用此完整代码。

    $(document).ready(function(){
       var mailtoHref = $('#mailme a').attr('href'); //get href
       var h1Text = $('h1').text(); //get h1 text
       $('#mailme a').attr('href', mailtoHref + h1Text ); //append it to mailto://
    });

答案 3 :(得分:0)

$(function() {
  $('#copy').append($('.elem').clone().children('a').prepend('foo - ').parent().clone());
});

使用此类方法,请点击以下链接:http://bugs.jquery.com/query?milestone=1.5&group=status&page=4&order=version&row=description