首先在这里发布了有关javascript / jquery / webstuff的新文章,但是即使在对我要做的事情进行了一些研究之后,我也没有设法找到使该事情起作用的东西。
因此,这里是上下文:
我正在使用HTML和Javascript / Jquery创建时间表。
我希望能够通过单击当天(即<span>
)直接注入自动生成的<td>
或其他内容。
起初,我使用了诸如“ getElementById()”之类的基本内容,但是如果我设法做到这一点,我将进行大量重复的代码。而且我很确定我可以避免这种情况。
因此,基本上,我想编写通用代码并能够获得用户单击的内容。
这是我现在设法做到的: HTML部分:
<table>
<tr>
<th class="day-name">Sun</th>
<th class="day-name">Mon</th>
<th class="day-name">Tue</th>
<th class="day-name">Wed</th>
<th class="day-name">Thu</th>
<th class="day-name">Fri</th>
<th class="day-name">Sat</th>
</tr>
{% set counter = namespace(a=0) %}
{% for x in range(0, 5) %}
<tr class="week">
{% for y in range(0, 7) %}
{% set counter.a = counter.a + 1 %}
<!-- <td id="2" class="day" onclick="addEvent()"><span class="number">{{ counter.a }}</span></td> -->
<td id="day_{{ counter.a }}" class="day"><span class="number">{{ counter.a }}</span></td>
{% endfor %}
{% endfor %}
</table>
Javascript部分:
function addEvent(){
var node = document.createElement("span");
node.setAttribute("class", "event");
document.getElementById("2").appendChild(node);
};
$(document).ready(function(){
$("td").click(function(){
alert("Ahahahah");
var node = document.createElement("span");
node.setAttribute("class", "event");
document.getElementById(this).appendChild(node);
});
});
{%...%}来自Flask / Jinja的东西,但我很确定那不是问题。
该脚本在另一个文件中,但包含该文件。 (可以肯定,因为脚本“ addEvent”运行良好)。
因此,我尝试了很多很多事情,但仍然无法正常工作。警报弹出窗口甚至没有显示出来,因此我无法尝试该脚本。我猜想注入新元素的方法是错误的,但是我一直没有找到想要的方法。
就在这里,在此先感谢您抽出宝贵的时间来帮助我
答案 0 :(得分:0)
我明白了
onclick="addingEvent()"
但是
function addEvent(){
Mabay这是问题吗?
答案 1 :(得分:0)
您需要使用对main()
的引用,并且使用this
可以附加引用。
this