Я хочу динамически создать элемент <a href="mailto:...">
, а затем "click". Все без изменения страницы.
Я пытаюсь это сделать:
$('<a href="mailto:[email protected]"> </a>').click();
... безрезультатно
Я хочу динамически создать элемент <a href="mailto:...">
, а затем "click". Все без изменения страницы.
Я пытаюсь это сделать:
$('<a href="mailto:[email protected]"> </a>').click();
... безрезультатно
Нажатие на ссылку означает изменение window.location, так как насчет
window.location = "mailto:[email protected]";
Его не jquery, но он работает отлично.
var link = document.createElement('a');
link.href = url;
document.body.appendChild(link);
link.click();
Чтобы заставить его работать с jQuery, вам сначала нужно выбрать элемент DOM внутри объекта jQuery.
$('body').append('<a id="link" href="mailto:[email protected]"> </a>');
$('#link')[0].click();
Обратите внимание на [0]
скрипт: https://jsfiddle.net/fkwhvvhk/
Попробуйте что-то вроде этого...
Демо: http://jsfiddle.net/wdm954/xtTGX/1
$('.a').append('<a class="b" href="mailto:[email protected]"> </a>');
$('.b').click(function() {
window.location = $(this).attr('href');
}).click();
.click()
работать с DOM, а не с объектом jQuery
это должно быть:
$('<a href="mailto:[email protected]"></a>')[0].click();
Yo может создать тег таким образом:
$('PARENT_TAG').append('<a id="dinamic_link" href="mailto:[email protected]"> </a>');
//Now click it
$('#dinamic_link').click();
НТН!
Почему бы просто не изменить расположение окна на ссылку href? Есть ли какая-то конкретная причина, по которой вам нужно использовать ссылку?
В противном случае:
window.location = 'http://example.com';
$('#something').append('<a id="link" href="mailto:[email protected]"></a>');
$('#link').trigger('click');
Я бы сказал, что вы должны рассмотреть возможность добавления href в контейнер (в основном div) с использованием .append() и вызова .click()
$('parent_div').append('<a id="link" href="mailto:[email protected]"> </a>');
//Now click it
$('#link').click();
Невозможно смоделировать обычные клики. Вы можете запускать только обработчики событий click
, привязанные к элементу.
Как @Alex отправил, вы можете изменить window.location
, чтобы добиться такого же эффекта.
Просто делал учебник по этому поводу!
$("[href='mailto:[email protected]']").click();
Это должно выбрать все элементы с атрибутом href с "mailto: [email protected]" в качестве значения.
www.w3schools.com/jquery/jquery_selectors.asp
var link = document.createElement('<a>')
link.href = "mailto:[email protected]";
link.id = "hitme"
$('#hitme').click();
вам нужно использовать .on, а затем вызвать .click. Динамически сгенерированная гиперссылка не работает с простым .click()
У меня обнаружены некоторые проблемы с похожей проблемой, и я нашел самый простой способ для меня:
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, я сделал это без него. Я надеюсь, что это может помочь для somenone. Это простой способ установить привязку для загрузки изображения и сделать клик сразу после.