.attr 'alt' 只显示第一个词

.attr 'alt' displaying only the first word

我遇到了一个小问题,我正在尝试通过从 alt 标签获取图像标题来打印它们。这不起作用,因为它只显示 alt.

中的第一个词
$("#galleryThumbs .imageThumb").click(function () {
    if ($(this).hasClass('active')) {
        //do nothing
    } else {
        var newImage = $(this).attr('picURL');
        $('#galleryImageLarge').attr('src', newImage);
        $("#galleryThumbs .imageThumb").removeClass('active');
        $(this).addClass('active');

        var newTitle = $(this).attr('alt');
        $('#galleryTitle').text(newTitle);
    }
});

HTML代码:

<div class="col-md-6 verticalcenter work" id="largeGalleryImage">
    <img src="<?php echo $galleryImages[0]['sizes']['large']; ?>"
        alt="<?php echo $galleryImages[0]['title']; ?>"
        class="img-responsive" id="galleryImageLarge" />
    <p id="galleryTitle"><?php echo $galleryImages[0]['title']; ?></p>
</div>

您应该转义从 PHP 传递到 HTML 的变量,即尝试替换:

<?php echo $galleryImages[0]['title']; ?>

与:

<?php echo htmlspecialchars($galleryImages[0]['title']); ?>

您的 $galleryImages[0]['title'] 可能有 " 符号,将被解释为属性值的结尾。

更多信息:http://php.net/manual/en/function.htmlspecialchars.php

您可能在 $galleryImages[0]['title'] 值中使用了引号。所以逃避它:

alt="<?php echo htmlspecialchars($galleryImages[0]['title']); ?>"

(您应该为 src、class 和 id 属性以及

标记之间的内容执行此操作。)