Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从每个元素创建变量';s id属性_Javascript_Jquery - Fatal编程技术网

Javascript 从每个元素创建变量';s id属性

Javascript 从每个元素创建变量';s id属性,javascript,jquery,Javascript,Jquery,需要从每个元素的id属性创建一个变量-使用jquery 作为最终结果-btngo.on('click')…-应该可以工作 有什么帮助吗 $('body*')。每个(函数(){ if($(this.attr('id')){ var id=$(this.attr('id'); console.log(id);//确定 $(window)[id]=$(this);//问题出在这里 } }); btngo.on('click',function(){ log('btngo clicked'); });

需要从每个元素的
id
属性创建一个变量-使用jquery
作为最终结果-
btngo.on('click')…
-应该可以工作
有什么帮助吗

$('body*')。每个(函数(){
if($(this.attr('id')){
var id=$(this.attr('id');
console.log(id);//确定
$(window)[id]=$(this);//问题出在这里
}
});
btngo.on('click',function(){
log('btngo clicked');
});

只需执行

document.body.querySelectorAll('[id]').forEach(el=>console.log(el.id))
btngo.onclick=()=>console.log('btngo已单击')
/*同:
window.btngo.onclick=()=>console.log('btngo已单击')
//或
window['btngo'].onclick=()=>console.log('btngo单击')
--------*/

由于向后兼容的原因,
GO
btngo
将已经是该元素的全局变量,因此您可以只执行
$(btngo)
,并将其终止。但这是90年代的事XD@NiettheDarkAbsol-那
$(“#btngo”)
呢?它也有效。有没有办法避免
$(btngo)
-并且只使用
btngo
-因此对于页面上的所有元素,您可以这样做,但您确实不应该这样做。全局变量是不可靠的-您编写的任何代码都可能覆盖它们。非常感谢。所以我需要使用jquery吗?使用它的主要好处是什么,请?@deepSea不,我的代码只是JS,您不需要使用jQuery本身已经是一个很大的优势(自从jQuery诞生以来,javascript已经有了很大的发展,jQuery的许多功能在很大程度上都集成到了JS中;还有一种方式是浏览器现在都尊重相同的HTML5、CSS、JS语法;(以前不是这样)我明白了,谢谢。在论坛上,很多人都说——jquery是缩短代码的必备工具,但正如我所见——它并不是最好的工具truth@deepSea这是真的,直到2010年……?这是真的,直到2010年……?但是现在有React,vue.js和很多其他东西