所以基本上,我想知道jQuery中是否有类似于vanilla javascript的getElementById的函数。使用$('#'+ id)的问题在于字符串连接似乎不是很好的编码风格。在jQuery中通过ID获取元素
我绝对可以添加我自己的帮助器方法,但我只是想知道jQuery中是否已经有东西。
所以基本上,我想知道jQuery中是否有类似于vanilla javascript的getElementById的函数。使用$('#'+ id)的问题在于字符串连接似乎不是很好的编码风格。在jQuery中通过ID获取元素
我绝对可以添加我自己的帮助器方法,但我只是想知道jQuery中是否已经有东西。
这其实工作原理:
var id="myTextBox";
alert ($(eval(id)).val());
HTML:
<input type='textbox' id="myTextBox" value="hola mundo"></input>
而且你不使用字符串连接但: 我不会使用它或任何circunstance下鼓励,字符串concat是我想这种情况下去的路。
更多的eval(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
这里更多相关的信息: Why is using the JavaScript eval function a bad idea?
它和你写的一样简单。如果你有一个id为'divInfo'的元素,那么你可以使用$('#divInfo')
来选择元素。它只是简单的CSS选择器。
没有......另一种选择是'$(的document.getElementById(ID))'... 。但是严重的字符串连接有什么问题? –
*“使用'$('#'+ id)'的问题是字符串连接似乎不是很好的编码风格。”*字符串连接是构建动态选择器的唯一方法,并且有效使用这种情况。我不会太担心。我假设你没有像'var id = this.id; $( '#' + id)的......'。 –
@FelixKling我想我是过分敏感的。基本上,我正在编写一个UI工具,并且该id应该从另一个元素的属性中提取以建立某种关系。我正在考虑像SQL注入这样的东西,并认为编写代码的更多过程方式比组装字符串要好。但是在客户端脚本中,除非有人想要一个混乱的页面,否则这不应该成为一个问题。 – user690421