楼上不要误导新手好吧。。。。。之所以你写的没有变,是因为在浏览器环境下js中全局函数默认this指向的window对象,你可以在console中输出window.innerHTML你会发现他的值等于那段话。
换句话说,this指的不是这个button,所以要想绑定对象给这个函数需要这样写
btn.item(0).onclick=function(){fn.call(this,p.item(0).innerHTML.concat(p.item(1).innerHTML))};
使用call()来使函数this指向该button,建议参考《JavaScript高级程序设计》
获取到了。你像下边这样写就可以了。
var btn =document.getElementsByTagName("button"); var p =document.getElementsByTagName("p"); btn.item(0).onclick = function(){ p.item(0).innerHTML = p.item(0).innerHTML.concat(p.item(1).innerHTML) };对于JS要学会使用浏览器的f12开发者工具 找到JS文件对相应的位置打上断点进行调试 可以很清楚的看到详细的变量对应的值 或者说是否有取到值
concat方法会返回一个值,需要用一个变量接收,你这里没有做处理,所以出不来,一楼的处理方式是将这个拼接后的值赋值给p.item(0).innerHTML,所以对了!你可以去看看
http://www.w3school.com.cn/jsref/jsref_concat_array.asp
第二个p标签后面是不是多了个