Когда я включаю jQuery в консоль и запускаю этот фрагмент против Google.com, должно произойти, что пронумерованные теги появляются рядом со всеми элементами привязки. Что хорошо работает.Непоследовательное поведение от .click()?
Но при нажатии этих тегов он должен действовать так, как если бы вы нажали на элемент, каждый тег появится слева. Большинство из них работают - прямые привязки, которые перенаправляются на новую страницу, что отлично работает.
Но вы увидите, что есть квадрат квадрата квадрата рядом с якорем «Изображения», который не является прямым якорем, а имеет на нем событие клика, которое показывает другие приложения в маленькой попке -up, и это проблема.
Если я дам ему идентификатор и использую .click()
прямо на нем в консоли, он отлично работает. Но с этим кодом .... .click()
просто не работает! Кажется, я не могу понять, почему.
var n = 1;
$('a').each(function(){
//create and place numbered tag elements-- works fine
var id = n;
var a = $(this).offset();
$('body').append('<span class="numTag" id="' + id + '" style="background:white; border: 1px solid black; font-size: 10pt; position:absolute; z-index:999;">' + id + '</span>');
$('#'+id).css({left: a.left - 25, top: a.top});
//create click event on each tag-- doesn't quite completely work
var self = this;
$('#'+id).click(function(){
self.click();
});
n++;
});
Примечание: это предназначено только для работы в Chrome; это часть расширения. Другие браузеры здесь неважны.
Возможно, вы захотите отметить, что значения id не должны начинаться с числа. – jfriend00
Хорошо, спасибо. – Aerovistae
вам вообще не нужен идентификатор, если вы создадите элемент напрямую, добавьте его, а затем добавьте его в DOM. но хм, странно. – Eevee