Создать приложение, получив идентификатор
Поэтому я пытаюсь сделать так, чтобы при нажатии
<a class="tab" id="NAME">NAME</a>
в id=gamecontent это создаст это
<div id="NAME" class="tabcontent">
<h3>NAME</h3>
<embed src="games/NAME.swf" align="middle" height="570px" width="100%"/>
</div>
и это то, что я придумал
$('.tab').click(function() {
var x = $(this).getAttribute('id');
$('#gamecontent').append('<div id="' + x + '" class="tabcontent"><h3>' + x + '</h3><embed src="games/' + x + '.swf" align="middle" height="480px" display="block" width="100%"/></div>');
});
это казалось достаточно простым, но что-то где-то делает это просто не работает вообще
1 ответ
Решение
Как говорится в комментарии, вы использовали неправильный метод, чтобы получить id
приписывать. Исправив эту ошибку, я показываю альтернативу для создания элементов с помощью JQuery вместо использования полного определения строки:
$('.tab').click(function()
{
var x = $(this).attr('id');
var div = $("<div>", {
id: x,
class: "tabcontent"
});
var h3 = $("<h3>").text(x);
var embed = $("<embed>", {
src: "games/" + x + ".swf",
align: "middle",
height: "480px",
width: "100%",
display: "block"
});
div.append([h3,embed]);
$("#gamecontent").append(div);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="tab" id="NAME">NAME</a>
<hr>
<div id="gamecontent"></div>
Вы можете проверить с помощью инструмента инспектора формат добавленного содержимого, после того как вы нажали...