如何推广这些jquery函数?

时间:2018-04-28 18:17:13

标签: jquery

HTML:

<div class="datum-klassikaal">
<div>01-01-2019 | 02-01-2018</div>
<div>01-02-2019 | 02-02-2018</div>
</div>

<div class="knop-klassikaal">
<div><p><button>Inschrijven</button></p></div>
<div><p><button>Inschrijven</button></p></div>
</div>

<div class="d-klas">
<div></div>
<div></div>
</div>

<div class="k-klas">
<div></div>
<div></div>
</div>

<input type="text" id="edit-opleidingsdatum" value="">

以下代码有效:

$(document).ready(function() {

$(".d-klas").append($('.datum-klassikaal').html());
$(".k-klas").append($('.knop-klassikaal').html());

$('.k-klas div:nth-child(1) button').click(function () {
    $('#edit-opleidingsdatum').val($('.d-klas div:nth-child(1)').html())
});

$('.k-klas div:nth-child(2) button').click(function () {
    $('#edit-opleidingsdatum').val($('.d-klas div:nth-child(2)').html())
})

});

但是这段代码没有:

$(".d-klas").append($('.datum-klassikaal').html());
for (i = 1; i < 24; i++) {
    $('.k-klas div:nth-child(' + i + ') button').click(function () {
        $('#edit-opleidingsdatum').val($('.d-klas div:nth-child(' + i + ')').html())
    });
}

我做错了什么???

BTW,我必须使用append()的原因是Drupal将内容放在错误的位置......

2 个答案:

答案 0 :(得分:0)

你的按钮是动态创建的...所以当它们被渲染时,JavaScript不是意识到它们而不是:

$('.k-klas div:nth-child(' + i + ') button').click(function(){

尝试:

$( document ).on( "click", '.k-klas div:nth-child(' + i + ') button', function() {

答案 1 :(得分:0)

试试这个:

data = []
#scrape elements
for url in urls:
    # Etc.