开发者问题收集

Javascript 获取值

2016-08-26
87

我有一个 foreach 循环,并且正在使用 DOM 编写一些 href(s) :

var href = document.createElement("a"); 
href.setAttribute("href", uid);

基本上,我有 X href 并且我希望在用户点击 href 时触发一个 javascript 函数。

我试图添加一个 onclick 事件...

href.setAttribute("onclick","displayer("+uid+");");

uid 变量:

var uid = String(Nuid);

即使是一个字符串,我也清楚地看到在 Firebug 中是正常的( console.log

但是当我点击该链接时,Firebug 说:

wall.php:1 Uncaught ReferenceError: hEIsrMeIN4M5OoLYTlGUQg9paL73 is not defined

它将我指向 <!DOCTYPE HTML> ,这不是错误。

Javascript 函数没什么特别的……

function displayer(uid){
 window.alert(uid); 
}
3个回答

此代码:

"displayer("+uid+");"

生成此代码:

displayer(hEIsrMeIN4M5OoLYTlGUQg9paL73);

这是无效语法,因为该字符串不是标识符。由于它是一个字符串,因此需要用引号括起来。类似这样的代码:

"displayer('"+uid+"');"
David
2016-08-26

我更喜欢使用 addEventListenner 并从 href 属性中获取 uid 值。

function displayer(event) {
  var uidElem = event.target.getAttribute('href');
  alert(uidElem);
}
var href = document.createElement("a"); 
href.setAttribute("href", uid);
href.textContent = "Text Content"
href.addEventListener('click', displayer)
ulybu
2016-08-26

执行此操作 href.setAttribute("onclick","displayer('"+uid+"');");

Tarek Salah uddin Mahmud
2016-08-26