使用jQuery动态创建和“单击”链接

时间:2011-06-28 10:52:26

标签: javascript jquery href mailto

我想动态创建一个<a href="mailto:...">元素,然后“点击”它。所有这些都没有修改页面。

我正在尝试这个:

$('<a href="mailto:test@test.com">&nbsp;</a>').click();

......无济于事

14 个答案:

答案 0 :(得分:33)

它不是jquery,但它运作得很好。

var link = document.createElement('a');
link.href = url;
document.body.appendChild(link);
link.click();    

答案 1 :(得分:15)

点击链接意味着更改window.location,那么如何

window.location = "mailto:test@test.com";

答案 2 :(得分:10)

要使它与jQuery一起使用,首先需要在jQuery对象中选择DOM元素。

$('body').append('<a id="link" href="mailto:test@test.com">&nbsp;</a>');
$('#link')[0].click();

注意[0]

小提琴:https://jsfiddle.net/fkwhvvhk/

答案 3 :(得分:5)

尝试这样的事情......

演示:http://jsfiddle.net/wdm954/xtTGX/1

$('.a').append('<a class="b" href="mailto:test@test.com">&nbsp;</a>');
$('.b').click(function() {
    window.location = $(this).attr('href');
}).click();

答案 4 :(得分:4)

.click()使用DOM,而不是jQuery对象

它应该是:

$('<a href="mailto:test@test.com"></a>')[0].click();

答案 5 :(得分:2)

Yo可以这样创建标记:

$('PARENT_TAG').append('<a id="dinamic_link" href="mailto:test@test.com">&nbsp;</a>');
//Now click it
$('#dinamic_link').click();

HTH!

答案 6 :(得分:2)

为什么不将窗口位置更改为链接的href?您是否需要使用链接?

否则:

window.location = 'http://example.com';

答案 7 :(得分:1)

$('#something').append('<a id="link" href="mailto:test@yourdomain.com"></a>');
$('#link').trigger('click');

答案 8 :(得分:1)

我会说你应该考虑使用.append()和调用.click()

将href添加到容器(主要是div)
$('parent_div').append('<a id="link" href="mailto:test@test.com">&nbsp;</a>');
//Now click it
$('#link').click();

答案 9 :(得分:1)

无法模拟正常点击。您只能触发已绑定到元素的click事件处理程序..

作为@Alex has posted,,您可以更改window.location以达到相同的效果..

答案 10 :(得分:1)

刚刚做了这个教程!

$("[href='mailto:test@test.com']").click();

这应选择具有href属性的所有元素,并将“mailto:test@test.com”作为其值。

www.w3schools.com/jquery/jquery_selectors.asp

答案 11 :(得分:0)

var link = document.createElement('<a>')
link.href = "mailto:test@test.com";
link.id = "hitme"
$('#hitme').click();

答案 12 :(得分:0)

你必须使用.on然后调用.click。 动态生成的超级引用不适用于简单的.click()

答案 13 :(得分:0)

我发现了类似问题的一些问题,并且找到了最简单的方法:

    var link = document.createElement('a');

    link.download = 'profile.png';
    link.href = '...';
    link.id = 'example';
    link.class = '...';

    document.body.appendChild(link);

    link.click();

在我的情况下,我花了很多时间尝试使用 jquery 来做,$('#example').click()却对我不起作用。至少问题是 jquery ,我没有这样做。希望对您有所帮助。是设置锚点以下载图像并在点击后立即单击的简单方法。