0

我有一个“关于”部分,我正试图将引号拉到一边。<span class='pq'>我用我的报价在这里包围我想要拉到一边的文本</span>。我有 3 个实例将引号拉到一边。第一个实例添加了 3 组引号,第二个实例添加了 2 组引号,第三个也是最后一个实例添加了正确的 1 组引号。

我还在学习 jQuery,但这是我想出的:

$(document).ready(function(){
    $('span.pq').each(function(){
        var quote = $(this).clone();
        quote.removeClass('pq');
        quote.addClass('pullquote');
        $(this).before(quote);
        $('.pullquote')
            .prepend('<span class="pq">&ldquo;</span>')
            .append('<span class="pq">&rdquo;</span>');
    })//end each
});//end ready
4

2 回答 2

2

在元素上的循环的.pullquote每次迭代中,您都在每个元素上预先添加和附加跨度。您应该将该代码放在 之外,因为它将对每个元素进行操作。像这样的东西(注意:未经测试,可能需要更改):each()span.pqeach().pullquote

$(document).ready(function(){
    $('span.pq').each(function(){
        var quote = $(this).clone();
        quote.removeClass('pq');
        quote.addClass('pullquote');
        $(this).before(quote);            
    })//end each
    $('.pullquote')
        .prepend('<span class="pq">&ldquo;</span>')
        .append('<span class="pq">&rdquo;</span>');
});//end ready
于 2013-04-02T23:37:43.273 回答
1

对于引号,实际上有 2 个标准的 HTML 标记,它们带有引号的语义,<q>短(内联)引号和<blockquote>更长的引号。CSS 伪元素可用于为每个标签添加和附加引号。

jsFiddle

HTML

<q>hello world</q>
<blockquote>A much longer quote... A much longer quote... A much longer quote... A much longer quote... A much longer quote...</blockquote>

CSS

q:before,
q:after,
blockquote:before,
blockquote:after {
    content:'"';
}
于 2013-04-02T23:36:14.023 回答