我正在尝试在JavaScript函数中传递变量。问题是我没有弄清楚如何转义字符串以在双引号内发送该变量。有很多答案,但我无法正确使用它们。
UITableViewStylePlain
如何将参数传递给双引号内的for (var k = 0; k < districts[division].length; k++) {
$('#district_list').append('<li class="byebooklist"><a href="javascript:getUniversity(' + districts[division][k] + ');">' + districts[division][k] + '</a></li>');
}
函数?
答案 0 :(得分:2)
要解决此问题,您需要将函数参数中的值包装在引号中,但是您需要使用\'
来转义它们:
for (var k = 0; k < districts[division].length; k++) {
$('#district_list').append('<li class="byebooklist"><a href="javascript:getUniversity(\'' + districts[division][k] + '\');">' + districts[division][k] + '</a></li>');
}
然而,你可以避免这个问题并通过不在href
中放任何JS来改进逻辑,而是使用不显眼的事件处理程序。正如您已经使用jQuery标记了问题,以下是如何做到这一点:
var html = districts[division].map(function(div) {
return '<li class="byebooklist"><a href="#" data-division="' + div + '">' + div + '</a></li>';
}).join('');
$('#district_list').append(html);
$(document).on('click', '.byebooklist a', function(e) {
e.preventDefault();
getUniversity($(this).data('division'));
});
答案 1 :(得分:1)
尝试使用转义引号:
$('#district_list').append(
'<li class="byebooklist"><a href="javascript:getUniversity(\''+districts[division][k]+'\');">'+districts[division][k]+'</a></li>'
);
// ^^ ^^