#javascript #jquery #html #dom #onclick
#javascript #jquery #HTML #dom #onclick
Вопрос:
Я передаю строку таблицы функции, которая должна обновлять атрибут onclick для привязки.
Что бы я ни пробовал, я не могу присвоить ему новое значение. Я вижу, что это jQuery выбирает якорь. Но когда я оповещаю перед after, атрибут onclick по-прежнему указывает на то же значение, а не на параметр ‘url’, который предоставляется функции:
function modifyTrEditUrl(tr, url) {
console.log(tr.find('td:eq(6) a')[0]);
tr.find('td:eq(6) a')
.attr('onclick', url); // I have tried
//.click(function(e){..}) way too!
console.log(tr.find('td:eq(6) a')[0]); //still the same value! :(
}
Какие-либо советы?
Ответ №1:
Я не уверен, но похоже, что вы, возможно, путаете атрибут onClick с атрибутом HREF . При нажатии на ссылку используется URL-адрес в атрибуте HREF.
Атрибут onClick действительно используется для запуска Javascript-файлов. Тем не менее, если вы используете jQuery, вам действительно следует придерживаться функций bind
or live
(для которых click
является оболочкой).
Ответ №2:
Я не специалист в jQuery (или даже javascript), но я думаю, что из вашего кода вы пытаетесь установить значение атрибута onclick в URL.
.attr('onclick', url);
Я знаю, что в теге атрибуту onclick должна быть присвоена функция javascript. Я думаю, что код пытается создать тег, подобный
<a onclick=url>
и я должен использовать URL-адрес в виде объекта string. Возможно, именно поэтому возникают ошибки.
Ответ №3:
Как насчет использования
tr.find('td:eq(6) a').attr('href', url);
Ответ №4:
используйте .bind или .live , .live для поздней привязки