我想在使用jquery自动生成的链接上添加一个属性onClick。
我选择父div,然后搜索它是否有链接子项,然后添加属性onClick。
它适用于localhost但不适用于服务器 有我的代码:
$('div.holder_notify_drop_data,li.holder_notify_drop_data').each(function () {
if ($(this).children('a').hasClass('holder_notify_drop_link')) {
$(this).on('click', function (e) {
var url = $(this).children('a').attr('href');
$(this).children('a').attr('onClick', "openFrame('" + url + "','yes')");
e.preventDefault();
});
};)
};
我该怎么做?
答案 0 :(得分:0)
确保包含jQuery:
<script src="http://code.jquery.com/jquery-latest.js"></script>
重要提示:还要将您的代码放在文档就绪函数中,我建议您使用jQuery click()函数而不是您已经完成的方式,但这没关系:
$(document).ready(function () {
$('div.holder_notify_drop_data,li.holder_notify_drop_data').each(function(){
if ($(this).children('a').hasClass('holder_notify_drop_link')){
$(this).on('click',function(e) {
var url = $(this).children('a').attr('href');
$(this).children('a').attr('onClick',"openFrame('"+url+"','yes')");
e.preventDefault();
});
};
)};
});
答案 1 :(得分:0)
这是一个工作示例http://jsfiddle.net/g248G/。
HTML:
<div class="holder_notify_drop_data">
<a class="holder_notify_drop_link"
href="http://stackoverflow.com">Stackoverflow.com</a>
</div>
<ul>
<li class="holder_notify_drop_data">
<a class="holder_notify_drop_link"
href="http://google.com">Google.com</a>
</li>
</ul>
使用Javascript:
function openFrame(URL, option) {
window.open(URL);
}
$(document).ready(function() {
$('div.holder_notify_drop_data,li.holder_notify_drop_data').each(function() {
$(this).children('a').each(function() {
var $link = $(this);
if ($link.hasClass('holder_notify_drop_link')) {
var URL = $link.attr('href');
$link.on('click', function(event) {
event.preventDefault();
openFrame(URL, 'yes');
});
}
});
});
});
答案 2 :(得分:0)
为什么不使用jQuery.on()呢?
这会将点击功能绑定到a
容器中holder_notify_drop_data
的所有当前和未来元素。
$('.holder_notify_drop_data').on('click', 'a', function (ev) {
ev.preventDefault();
openFrame($(this).prop('href'), 'yes');
});