Я использую php и javascript для создания страницы репозитория, над которой я работаю, и до сих пор таблица, которую я генерирую через jQuery, на самом деле не записывает на страницу. Все журналы консоли работают нормально, но ничего больше.
В настоящее время я работаю так, что php файл, который является открытым, вызывает другой, у которого есть javascript (и база таблицы).
Вызывается вызванный PHP файл:
<script>
var h = ['Black Panther', 'Black Widow', 'Cable', 'Captain America', 'Colossus', 'Cyclops', 'Daredevil', 'Deadpool', 'Emma Frost', 'Gambit',
'Ghost Rider', 'Hawkeye', 'Hulk', 'Human Torch', 'Iron Man', 'Jean Grey', 'Loki', 'Luke Cage', 'Moon Knight', 'Ms Marvel', 'Nightcrawler',
'Punisher', 'Rocket Raccoon', 'Scarlet Witch', 'Spider-Man', 'Squirrel Girl', 'Storm', 'Thing', 'Thor', 'Wolverine'];
var v = ['Black Cat', 'Blob', 'Bullseye', 'Dr. Doom', 'Dr. Octopus', 'Electro', 'Elektra', 'Gorgon', 'Green Goblin', 'Grim Reaper', 'Hood',
'Juggernaut', 'Kingpin', 'Kurse', 'Lady Deathstrike', 'Living Laser', 'Loki', 'Madame Hydra', 'Magneto', 'Malekith', 'Mandarin',
'Mister Sinister', 'M.O.D.O.K.', 'Moleman', 'Pyro', 'Rhino', 'Sabretooth', 'Shocker', 'Taskmaster', 'Tombstone', 'Venom', 'Wizard'];
var e = ['Brood', 'Cliffwalker Tribe', 'Dark Elves', 'Frost Giants', 'Hand', 'Hydra', 'Latverian Drones', 'Maggia', 'Mercenary', 'N\'Garai Demons',
'Purifier', 'Rock Trolls', 'Serpent Men', 'Storm Giants', 'Toad'];
var i, table = $('tbody');
for(i = 0; i < 32; i++) {
$row = $('<tr id="row' + i + '"></tr>');
$row.append('<td onclick="location.href=\'?s=' + v[i].toLowerCase().replace(' ','') + '\'">' + v[i] + '</td>');
console.log( 'Villain Added: ' + v[i] );
if(i > 29) { table.append($row);continue; }
$row.prepend('<td onclick="location.href=\'?s=' + h[i].toLowerCase().replace(' ','') + '\'">' + h[i] + '</td>');
console.log( 'Hero Added: ' + h[i] );
if(i > 14) { table.append($row);continue; }
$row.append('<td onclick="location.href=\'?s=' + e[i].toLowerCase().replace(' ','') + '\'">' + e[i] + '</td>');
console.log( 'Enemy Added: ' + e[i] );
table.append($row);
}
</script>
<table class="table table-bordered table-hover">
<thead>
<th>Heroes</th>
<th>Villains</th>
<th>Enemies</th>
</thead>
<tbody>
</tbody>
</table>
На странице отображается точный код, когда я просматриваю источник страницы. Элемент tbody пуст, когда все должно быть записано.
Мой вопрос: есть ли что-то, что я делаю неправильно? Я действительно новичок в PHP, и я использую его только для упрощения организации моего кода. Я попытался разместить фактическую функцию после создания таблицы, помещая ее в функцию загрузки документа (которая ничего не должна менять), и ничего не работает.
Пожалуйста, помогите мне решить эту проблему. Приветствия.
Вы должны включить все ваши js в готовый метод
$( document ).ready(function() {
// your code here
});
или вы создаете метод js и вызываете это при событии onload тела, чтобы код запускался после добавления вашей таблицы в дерево DOM.
i
и table
), и это не сработало. Не думал бы, что это будет иметь значение. Может быть, я забыл обновить свой сервер. Новая проблема, Venom & Wizard теперь в списке героев.
Когда вы просматриваете источник страницы, вы не найдете новые (динамически) добавленные элементы. Для того, чтобы посмотреть на них, попробуйте использовать document.documentElement.innerHTML
это даст вам текущий html страницы.
Просмотр источника показывает только источник страницы, когда он был визуализирован с сервера, то есть исходный источник страницы, а не версия, которая была впоследствии изменена при использовании javascript.