我对这段代码有疑问:
$(document).ready(function() {
$('.notActiveId').change(function() {
if ($(this).attr('value').length === 0 ) {
$("#notActiveButton").html('');
} else {
$("#notActiveButton").html('<a href="javascript:void(0)" onClick="setStatus(' + $(this).attr('value') + ', activate)" class="operationUnlock" >Activate</a>');
}
});
});
我正在使用 $(this).attr('value')
调用名为 notActiveId
的选择列表中的值。但问题是如何在 setStatus()
函数中编写 $(this).attr('value')
,因为我选择的值是这种形式: RZT_83848Rer
(因此它由字符、下划线和数字组成)。
如果我尝试按照上面的方式编写它,则会收到 JavaScript 错误。
最佳答案
为什么不通过 jQuery 添加元素,而不是使用老式的“onclick”?
$('#notActiveButton').empty().append($('<a/>', {
href: '#', // the "javascript:" thing is basically bogus and unnecessary
click: function () {
setStatus(this.value, activate);
},
class: 'operationUnlock',
text: 'Activate'
}));
现在,所有这些都假设您的“notActiveButton”元素是您的 <a>
的某种合法容器。标签。但无论如何,这样做你就可以编写纯 JavaScript,而不必担心引用等的困惑。
关于javascript - 在 jQuery 生成的 <a href...> 中调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5608778/