通过获取ID创建附加

时间:2018-12-20 04:14:04

标签: jquery append getattribute

所以我试图拥有它,以便当我单击此

<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 个答案:

答案 0 :(得分:0)

正如评论所说,您使用了错误的方法来获取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>

点击后,您可以使用检查器工具检查附加内容的格式。