我想获取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技能。每个内容页面都有一个电子邮件按钮,该按钮使用以下脚本之一根据页面标题自定义电子邮件主题行。我希望其他人也会觉得这很有用。
答案 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