1

目前我使用javascript动态绑定表..

我需要单引号来分隔字符串..

代码 :-

var str ="";
str += "<td><a onclick='showFlightsByName("+val.Name+")' href='javascript:;'><span>" + val.Name + "</span></a></td>";

当前输出:-

<a onclick="showFlightsByName(AirTran Airways)" href="javascript:;"><span>Airways Airways</span></a>

期望输出:-

<a onclick="showFlightsByName('AirTran Airways')" href="javascript:;"><span>Airways Airways</span></a>
4

3 回答 3

4
"<td><a onclick='showFlightsByName("+val.Name+")' href='javascript:;'><span>" + val.Name + "</span></a></td>"

应该

"<td><a onclick=\"showFlightsByName('"+val.Name+"')\" href=\"javascript:;\"><span>" + val.Name + "</span></a></td>"
于 2013-04-16T11:07:00.843 回答
2

尝试这个:

var str ="";
str += "<td><a onclick=\"showFlightsByName('"+val.Name+"')\" href=\"javascript:;\"><span>" + val.Name + "</span></a></td>";
于 2013-04-16T11:08:04.030 回答
2

通常在使用 HTML 时,它比字符串更容易使用',如下所示:"

var str = '<td><a onclick="showFlightsByName("' + val.Name + '")" href="javascript:;"><span>' + val.Name + '</span></a></td>';

但是,你有没有考虑过使用 JS 来构建 DOM 对象?

var a = document.createElement("a");
a.href = "javascript:;";
a.onclick = "showFlightsByName(" + val.Name + ")";
a.appendChild(document.createElement("span").innerHTML(val.name));
var td = document.createElement("td");
td.appendChild(a);

那可能不是100%。自从我用纯 JS 编码以来已经有一段时间了。JQuery 让它太容易了。

编辑:在那张纸条上......

var $a = $('<a>').append($('<span>').text(val.Name)).click(function() {
    showFlightsByName(val.Name); 
});
$('<td>').append($a).appendTo("WHEREVER");
于 2013-04-16T11:09:52.543 回答