jQuery值在html中作为id传递
jQuery value passing as a id in html
可以在Html中传递一个jQuery变量作为Id。例如
$(document).on('click', '.addvideo', function () {
var dynamicID = $(this).attr('id');
});
这里我得到了当前点击的id值"dynamicID"。我想把这个值传递给另一个变量,比如下面的
$('#'+dynamicID).change(function(){
alert('hi');
});
我试过了。但我收到错误"ReferenceError:dynamicID未定义"。如何解决这个问题?
在addvideo点击事件中写入更改事件,则只有它会绑定:
$(document).on('click', '.addvideo', function () {
var dynamicID = $(this).attr('id');
$('#'+dynamicID).change(function(){
alert('hi');
});
});
错误是由于您试图从某个不可用的地方访问变量dynamicID
而引起的。
JS中的变量只能在定义它们的函数中访问,换句话说,就是编写var something = 'value'
的部分。
因此,在您的示例中,变量dynamicID
可以在该函数内的任何位置使用,但不能在函数外使用
$(document).on('click', '.addvideo', function () {
var dynamicID = $(this).attr('id');
});
console.log(dynamicID) //ReferenceError: dynamicID is not defined
当你试图在函数外访问dynamicID
时,你会得到一个错误,因为它基本上不存在。
因此,您可以将使用dynamicID
的函数移动到定义它的函数中:
$(document).on('click', '.addvideo', function () {
var dynamicID = $(this).attr('id');
$('#'+dynamicID).change(function(){
alert('hi');
});
});
或者,要访问其他地方的变量,可以在函数外定义它,在函数中为它赋值,然后从其他地方访问它。
var dynamicID;
$(document).on('click', '.addvideo', function () {
dynamicID = $(this).attr('id');
});
console.log(dynamicID) //this will log the ID value provided the element has been clicked
出现该错误的原因是您处于不同的范围,这意味着不会定义dynamicID。尝试将其添加到相同的范围中,如下所示:
$(document).on('click', '.addvideo', function () {
var dynamicID = $(this).attr('id');
$('#'+dynamicID).change(function(){
alert('hi');
});
});
我不知道你打算如何获取动态Id,但想象一下你试图从文本框中获取它。以下是我的做法。
$(document).ready(function() {
var dynamicID = '#' + $('#yada').val();
$(dynamicID).on('input', function(e) {
alert('hi');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="yada" value="yada">
相关文章:
- 将参数中类似形式的ID传递给函数click()
- jQuery值在html中作为id传递
- 将外部函数返回的id传递给内部函数
- 如何将特定 ID 传递给嵌入式 YouTube 播放器
- 如何将WordPress帖子ID传递到HTML5本地存储
- 将动态ID传递到成功主干上的url
- 将输入id传递到jquery ui自动完成中的url
- Js:将按钮 ID 传递到同一页面
- 将ID传递给单击事件
- 如何使用 Codeigniter 将 id 传递给引导模式
- ID 传递到函数中的问题
- ID传递网站的替代项
- 级联下拉列表,将<选项>值作为 ID 传递
- 将当前路由活动 ID 传递给组件
- 如何将 id 传递给函数
- 将 Ajax.Actionlink OnSuccess 上的模型 id 传递给另一个 Javascript 函数
- 使用 JavaScript 将选定的复选框 ID 传递到弹出窗口
- 在行单击时,将记录 ID 传递给引导模式中的链接按钮
- 如何将项目id传递给我的控制器以进行删除方法
- 将表单id传递给函数并在函数内提交