使用生成的div来定位伪类

时间:2013-12-27 22:36:22

标签: javascript jquery html css

我创建了一个使用CSS:target选择器的页面来选择要显示的信息选项卡。选项卡是在页面加载时从加载AJAX的数据动态创建的。显示功能的示例代码在此处:

<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
    </script>
<style>
    #store div.tabs > div > a { background: #900;}
    #store div.tabs > div:target > a { background:#090;}
</style>
    <title>Test</title>
</head>
<body>
<script type="text/javascript">
function setStore() {
    var lastCat = "";
    for (var i=0;  i<storeList.length; i++) {
        if (storeList[i].category != lastCat) {
            lastCat = storeList[i].category;
            $("#display").append('<div id="'+lastCat+
                                    '"><a href="#'+lastCat+'">'+lastCat+
                '</a><div class="content"></div></div>');
        }
    }
}
function getStore() {
    function startWithStore(jcal) {
        storeList = JSON.parse(jcal);
        setStore();
    }
    $.ajax({
            url: 'getStore.php',
            type: "POST",
            success: startWithStore
    });
}
$(function() {
    getStore('display');
});
</script>

<div id='store'>
<div class="tabs" id='display'></div>
</div>
</body>
</html>

此页面位于http://royalbluetraders.com/testtarget.htm#Linen

当页面最初加载时(例如“testtarget.htm#Linen”),未选择Linen div,但单击任何链接可以正确选择该div。似乎目标属性未应用于生成的div。

那么在初始加载时选择初始URL上选择的目标div的最佳方法(纯HTML / CSS或jQuery)是什么?

1 个答案:

答案 0 :(得分:0)

$(function() {
    $('.mylinks:first-child').addClass('makemelookgreen');
});

这一切都在文档准备好时发生。这显示了一个选择器(你可以使用你想要的任何选择器),然后第二个部分是一个jQuery .addClass()方法,你可以将你想要的任何类添加到所选元素。

此外,因为你网址末尾的哈希没有像你希望的那样使链接'活动',可能是因为可能的元素实际上并没有接收':active'伪类,除非click事件实际上被触发了。我相信网址末尾的哈希只是告诉页面去哪里。