Javascript数字-字符串DIV点击奇怪转换
Javascript Number-String DIV onclick strange conversion
我所做的基本上是将person的Facebook-ID分配给div中的onclick-Event。div本身是一个字符串,因为我稍后通过innerHTML将其分配给dom属性
"<div onclick='openFbFriend(" + friendsArray[i]['facebookID'] + ");' class='row'>";
现在openFbFriend只是打开这个人的Facebook-Page:
function openFbFriend(fbID) {
window.open("https://www.facebook.com/" + fbID, "_blank");
}
对大多数人都有效。我现在所经历的是一些链接坏了,我会重定向到这个页面:https://www.facebook.com/10204840506352732
我调查了一下,非常奇怪,但它发生了,当FB-ID长于或等于17位数字时,我的字符串从div更改为openFbFriend,带有加号或小号1。怎么会这样呢?fb-id永远不会转换为数字,而始终是字符串。因此,如果我在div后输入console。log,则id是正确的。但是当点击时,奇怪的事情发生了,因为如果fbid>=17位数,那么在openFbFriend中它是+-1。任何帮助都很感激:)!
也许你应该试试
"<div onclick='openFbFriend('"" + friendsArray[i]['facebookID'] + "'");' class='row'>";
,因为如果参数周围没有'"
,那么它将被解释为整数,或者如果它包含非数字字符,那么它将导致错误。
结果字符串将是:
<div onclick='openFbFriend("10204840506352732");' class='row'>
但是在你的版本中:
<div onclick='openFbFriend(10204840506352732);' class='row'>
现在我有一个快速的自己的猜测和修复它与
'"
"<div onclick='openFbFriend('"" + friendsArray[i]['facebookID'] + "'");' class='row'>"
我假设它被转换成一个没有'"的数字,但我不明白为什么。也许有人能解释一下?Thx
相关文章:
- CSS Div 类之间的转换仅以一种方式发生
- 在转换“列”时处理行span和列span;表“;变成“;Div”;
- 如何在 JavaScript 中进行堆叠 Div 的转换
- 在 C# 或 JavaScript 中将 DIV 内容转换为图像
- HTML Div转换为带有背景图像Html2canvas的图像
- 正在转换<br>标记到<Div>或者<P>标签
- 将DIV元素转换为字符串
- 使用Form元素转换/更改Div元素
- 调整大小时将Div转换为手风琴
- 将HTML DIV转换为可重复使用的全局函数??也许Javascript
- Javascript数字-字符串DIV点击奇怪转换
- 需要将JavaScript Alert转换为在DIV中显示
- 在不杀死Javascript的情况下将Div Id转换为输入元素
- d3转换转换不工作的DIV
- 希望我格式化的DIV转换为PDF,并通过电子邮件发送在一个单一的点击.这可能吗?
- 在Div中查找关键字,然后获取冒号后的字符串,并将其转换为变量
- 将LI元素转换为DIV
- 如何将DIV的底部内边距转换为包含其的DIV的负边距
- 将DIV转换为输入元素并将数据保存到数据库中
- 将DIV的所有内容转换为SVG缩略图