0

我有一个内联元素的问题,特别是一个<a>元素。如下:

<a class="text></a>

.text{
display:inline-block;
background:red;
padding:5px
}

问题是我加载了它与 JSON 一起保存的文本。现在我希望它的背景是文本的长度,但问题是 html 加载然后 json 加载,所以它不会获取文本的长度。我可以设置一个固定的宽度,但我宁愿它是文本的大小。我有什么选择吗?谢谢!

编辑:似乎导致问题的是 chrome 比任何其他浏览器都多。

脚本:

$(document).ready(function() {
var data;
function loadContent(){ 
    $.ajax({
        url: "json/content.json",
        data: "nocache=" + Math.random(),
        type: "GET",
        contentType: "application/json",
        dataType: "json",
        success: function(source){
            data = source;
            showInfo();
        },
        error: function(data){
            alert("Failed to load content");
        }
    }); 

}

loadContent();
    function showInfo(){
        $(".text").html(data[lang]['startpage']['text']);
}
});
4

1 回答 1

0

如果这可以解决您的问题,我不是 100%,但请尝试这样做,传递source给函数而不是使用您的(未声明的)data变量。

$(document).ready(function() {

function loadContent(){ 
    $.ajax({
        url: "json/content.json",
        data: "nocache=" + Math.random(),
        type: "GET",
        contentType: "application/json",
        dataType: "json",
        success: showInfo,
        error: function(data){
            alert("Failed to load content");
        }
    }); 

}

loadContent();

function showInfo(data){
    $(".text").html(data[lang]['startpage']['text']);
}
});

更新

要将同一行上的所有 div#game-nav从更改inlineinline-block

#game-nav li {
    display: inline-block;
}

display:inline元素(like<b><span>wrap 这不是你想要的,inline-block 可以换行到新行但它们不会破坏中间词。

于 2013-03-27T11:46:21.127 回答