下面是我在sandbox.php文件中的一些代码:
<div class="jq">
<img class="active" id="also" alt="Fifty-Fifty?" src="http://placehold.it/350x150"/>
</div>
<div id="title">
This is the alt element of the 350x150 image, found by class. It should return 'Fifty-Fifty?':
<script>
$("#title").text($('.jq .active').attr('alt'));
</script>
</div>
所以,我只是想弄清楚为什么"这是alt元素…"被擦除,我想知道如何防止这种情况发生。实际上我不觉得我需要一个'title'div,我觉得我可以把文本附加到'jq'部分。
谁能解释一下为什么人们也会过度结构化文档?我在看StackOverflow的代码,他们把所有的链接在他们的hlinks-custom
-id的div在那个div。锚使它非常清晰的结构分隔符,它似乎不需要更多的东西。但是,去YouTube.com,你会看到页面上的每个链接都有自己的div。这看起来不奇怪吗?
我将使用.append()
,如下所示:
$("#title").append($('.jq .active').attr('alt'));
因为你是在替换,而不是追加。试一试:
var $t = $("#title");
$t.text($t.text() + $('.jq .active').attr('alt'));
这应该能解决你的问题-
<script>
$("#title").text($("#title").text() + $('.jq .active').attr('alt'));
</script>
text
函数将替换所选元素中的所有文本内容。因此,您需要将原始文本附加到您要添加的文本,然后将所有这些传递给text
函数。
您正在设置标题div的文本,因此您可以清除它并再次设置它。你正在寻找jquery的append()函数
<script>
$("#title").append($('.jq .active').attr('alt'));
</script>
.text(value)
方法将div的内容设置为value
。因此,之前在div中的内容被删除,为新内容腾出空间。
您可能需要使用.append(value)
方法来代替。它将值附加到div内容的末尾。