从JavaScript文件中我通过Ajax调用PHP脚本。 PHP返回一个带表的echo。像这样:
echo "<tr><td id=\"something\">$value<\td><\tr>";
这很好用。但现在我想用id“某事”来定位单元格。我无法做到,因为JavaScript无法识别id,因为它在我调用PHP之前已经加载了。 我试着在调用php文件后重新加载我的javascript文件。比它找到id,但它运行我所有其他脚本两次(我认为因为javascript文件加载了两次而且不替换旧的)。
有没有办法在不重新加载javascript文件的情况下定位此ID。 附:我重新加载javascript文件作为PHP文件的一部分。在php文件的最后我放了这样的东西:
echo "<script type=\"text/javascript\" src=\"js/javaScriptfile.js\"></script>";
php脚本如下所示:
echo "<tr><td>Persmachine appels</td><td id=\"capaciteitPersmachineAppelsBeginRonde\">$capaciteitPersmachineAppelsBeginRonde</td><td id=\"uitbreidenPersmachineAppels\">$uitbreidenPersmachineAppels</td><td id=\"actueleCapaciteitPersmachineAppels\">$actueleCapaciteitPermachineAppels</td><td id=\"capaciteitPersmachineAppelsPerStap\">$capaciteitPenSMachineAppelsPerStap</td><td id=\"kostenPersmachineAppelsPerStap\">$kostenUitbreidingPenSMachineAppelsPerStap</td><td><button class=\"btn btn-default\" id=\"BTNpersmachineAppelsPlus\"><img src=\"Graphics\PlusIcon.png\" width=\"20\" /></button><button class=\"btn btn-default\" id=\"BTNpersmachineAppelsMin\"><img src=\"Graphics\minIcon.png\" width=\"20\" /></button></td><td id=\"nieuweCapaciteitPersmachineAppels\">$actueleCapaciteitPermachineAppels</td></tr>";
AJAX调用如下所示:
$.ajax({
url:'http://12dobec.nl/JFC/php/huidigeStatusPerCategorieDownloadenV2.php',
data:{klas:klas, team:team, gekozenOverzicht:gekozenOverzicht},
type: "GET",
success: function(data){
$('#BeslissingenFabriek').html(data);
}});
正如你所看到的,我将两个按钮放入php echo中。我也不能把它们作为目标。我想再次因为之前加载的javascript文件。当再次加载javascript时,它会找到所有内容,但脚本会运行两次。
答案 0 :(得分:0)
为了定位元素,必须将它们添加到DOM中。还有其他方法,但这是直截了当的。
Element.insertAdjacentHTML()
通过将数据解析为HTML,它将元素添加到示例中的DOM树中。您将能够直接将添加到DOM中创建的元素作为目标
$.ajax({
url:'http://12dobec.nl/JFC/php/huidigeStatusPerCategorieDownloadenV2.php',
data:{klas:klas, team:team, gekozenOverzicht:gekozenOverzicht},
type: "GET",
success: function(data){
var theTarget = document.getElementById('BeslissingenFabriek');
theTarget.insertAdjacentHTML('afterbegin',data);
}});
有关完整说明和更多详细信息,请查看DOCUMENTATION
其他职位包括:
'beforebegin' - Before the element itself.
'afterbegin' - Just inside the element, before its first child.
'beforeend' - Just inside the element, after its last child.
'afterend' - After the element itself.