我想将一个onclick事件附加到a
,但似乎无法实现此目的:
$("[class^=field-promote_image_]").each(function() {
var a = $(this).find('.file-upload > a');
a.on('click', function(e){
e.preventDefault();
alert(a.attr('href'));
});
});
也不是这样:
$("[class^=field-promote_image_] .file-upload > a").on('click', function(e) {
e.preventDefault();
alert($(this).attr('href'));
});
我错过了什么?
答案 0 :(得分:2)
使用attribute contains selector。
$('.field-row[class*="field-promote_image_"] .file-upload > a').on('click', , function() {
警告:这将匹配其类包含field-promote_image_
的所有元素。防爆。 anything-field-promote_image_
答案 1 :(得分:2)
我认为类field-promote_image_de
是动态的,这就是为什么你要使用选择器开始的属性,但它不会起作用,因为那不是属性值的开始。
这里的正确方法是向该元素添加一个额外的类,如
<div class="form-row field-promote_image field-promote_image_de">
...
</div>
然后只使用新类
$('.field-promote_image a').click(function(){
//your handler code
})
答案 2 :(得分:1)
您可以使用:
$(".file-upload > a").on('click', function(e) {
e.preventDefault();
alert($(this).attr('href'));
});