在某个事件中,我使用html()
将数据写入页面。我想立即将这些数据用于其他事情。例如(保持尽可能简单):
$('.linkclass').click(function() {
$('#divid').html('<a id="mylink" href="#somelink">Click me</a>');
});
在页面上:
<a class="linkclass">Random link</a>
<div id="divid"> </div>
这很好用。但是,尝试使用写入#divid
的数据不会:
$('.linkclass').click(function() {
$('#divid').html('<a id="mylink" href="#somelink">Click me</a>');
$('#mylink').trigger("click"); // doesn't work if not originally on page
});
那么,我如何处理写入#divid
的数据?
答案 0 :(得分:0)
您的问题的解决方法可能是
$('.linkclass').click(function() {
$('#divid').html('<a id="mylink" href="#helo">Click me</a>');
var url = $('#mylink').attr('href');
window.location = url;
});
您可以通过将href设置为http://www.google.com来测试它,例如
答案 1 :(得分:0)
它不起作用,因为你没有id为#34; somelink&#34;的元素。
重写:
$('#divid').html('<a href="#somelink">Click me</a>');
进入这个
$('#divid').html('<a href="#somelink" id="somelink">Click me</a>');
答案 2 :(得分:0)
不确定是否可以触发HTML <a>
标记上的点击以触发元素的默认行为(转到另一页)。如果我们可以做那样的话,“Click jacking”将不存在。
但您确定可以在此元素上设置click
事件侦听器,然后执行您想要的操作:
$(document).on("click", '#somelink', function() {
window.location.replace('https://www.google.com');
});
$('.linkclass').click(function() {
$('#divid').html('<a id="somelink">Click me</a>');
$('#somelink').trigger("click");
});
答案 3 :(得分:0)
如果您以编程方式执行此操作,try this(jsFiddle):
$('.linkclass').click(function() {
var $newlink1 = $("<a id='new-link-1'/>")
.attr('href','#3')
.html("clicky")
.click(alert('clicked!')); //debug
$("#divid").append($newlink1);
});
不知何故,我认为<a>
并未及时添加到dom中以供jQuery引用它。
答案 4 :(得分:0)
尝试
$('.linkclass').click(function () {
$('#divid').html('<a id="mylink" href="#somelink">Click me</a>');
$('#mylink')[0].click();
});