2013-04-02 34 views
0

我有一個'約'部分,我試圖把報價拉到一邊。我圍繞我想要拉到一旁的文字<span class='pq'>我的報價在這裏</span>。我有3個實例,我把報價拉到一邊。第一個實例添加3組引號,第二個添加2組引號,第三個和最後一個添加正確的一組引號。jquery追加和預先加額外引號

我還在學習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 
+3

JS似乎不需要這個...你確定你不能用CSS僞元素完成這個,或者可能是一個精靈和位置背景圖? – elclanrs

+0

@elclanrs我不確定你的意思。有沒有可以指給我的例子? –

回答

1

你預先考慮並在該each()每次循環的每個附加元素.pullquote上跨度span.pq元素。您應該將該代碼放在each()之外,因爲它將在每個.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 
1

行情居然還有這種攜帶報價,<q>的思邁特意思很短的2個標準的HTML標籤(內聯)報價,<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:'"'; 
} 
相關問題