如何创建<p>标记,并在我单击它时将其分配给一个var
How do I create a <p> tag dynamically and assign it to a var when I click it?
如何动态创建<p>
标记并在单击它时将其分配给var,它应该转到函数goTo
并知道我在<p>
中单击了什么,以便访问数组lastGoals
的索引。
我还有其他问题,它是30在"30s"我做这个函数来更新,当我点击它时,我用这个函数更新了很多次。我知道i
不在$(document).on();
的范围内,还有其他问题,因为如果我把它放在for
里面,我认为它会以一种糟糕的方式添加和点击。
var isFirstTime = true;
var text = '<p class="boxLastGoals">test</p>';
var size = lastGoals.length;
for (var i = 0; i < size; i++) {
if (isFirstTime) {
$('#listLastGoals').html(text);
isFirstTime = false;
} else {
$('#listLastGoals').append(text);
}
}
$(document).on('click', 'p.boxLastGoals', goTo(event, i));
假设您对使用JQuery感到满意,则可以使用JQuery在循环中为您创建<p>
元素,并在其中动态附加单击处理程序。您还可以使用.prop('value', 'test');
方法将数据附加到元素,以便可以在类似$(this).prop('value');
的单击处理程序中访问它。
我已经更新了我的例子,包括一个循环,并访问一个变量来匹配你的场景
示例
HTML
<div id="content">
</div>
JavaScript
$(document).ready(function() {
var list = ['goal 1', 'goal 2', 'goal 3', 'goal 4', 'goal 5'];
for (var i = 0; i < list.length; i++) {
var text = list[i];
var pEl = $('<p></p>', {
text: text
});
pEl.prop('arrayIndex', i);
pEl.on('click', function(e) {
goToGoal(e, $(this).prop('arrayIndex'));
});
$('#content').append(pEl);
}
});
function goToGoal(e, i) {
alert('go to goal: ' + i);
}
JSFiddle演示
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 在循环中分配json值时,值被覆盖
- '这'在使用之前分配给了一个var
- var 函数名称与函数闭包中的名称分配
- 如何创建<p>标记,并在我单击它时将其分配给一个var
- 如何将var Array分配给字符串Array jQuery?MVC3 剃须刀
- 为什么在没有 var 关键字的情况下分配给变量时会出现引用错误
- JavaScript var 分配一个动态可为空的值显示脚本错误
- jQuery:使用 var 快捷方式分配数据以及如何链接功能以在加载和单击时运行
- 关于变量分配的澄清"var x=!0〃;
- 在Javascript中分配多个值之前先声明var
- 为什么有些人会分配JavaScript变量,比如var example=window.example||{};
- Javascript未分配的var
- 将json输出分配给数组var
- Java脚本:在函数中分配var,在函数外使用var
- 什么是“;var FOO=FOO||{}”;(为该变量分配一个变量或一个空对象)在Javascript中的意思
- 在 Prestashop 1.6 中从 Smarty 分配 JavaScript var
- 如何将 var 的值分配给在 Java 脚本中归档的文本,方法是将其解析为 float
- 如何给jQuery .val()分配一个var值
- 我如何分配一个var从传入函数var