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

我想抓住h1标题文本并将其添加到mailto的主题行。 我得到了这个。 我只是不知道如何用正确的表达来代替’用标题替换’。 克隆是否会朝着正确的方向发展? 谢谢参观!

Headline

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

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

 $('#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()); }); 

干得好。 假设您的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); }); 
  

Headline

使用整个代码。

  $(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:// }); 
 $(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&rd = description