2012-11-08 44 views
0

我想添加一些HTML的類...任何想法爲什麼下面不工作?Jquery/CSS的目標打印類

JQUERY:

$("ul#breadcrumbs li[media='print']").append("<strong>Hello</strong>"); 

HTML:

<ul id="breadcrumbs"> 
     <li class=""> 
      <a href="supporting-overview.html">Supporting Units</a> 
     </li> 

     <li class=""> 
      <a href="literacy-and-learning.html">Language of geography</a> 
     </li> 

     <li class="active"> 
      <a href="literacy-and-learning.html">literacy and learning</a> 
     </li> 

</ul> 
+4

有媒體沒有李元素屬性。 – freebird

+0

FireBug是你的朋友。當你遇到這樣的情況時,你可以通過在控制檯中輸入'$(「ul#breadcrumbs li [media ='print']」)'來檢查選擇器是否返回任何東西。它會告訴你它被選中的元素,然後 – blackpla9ue

回答

1

選擇器ul#breadcrumbs li[media='print']尋找一個li與屬性media具有值print例如<li media='print'>。在你的html中沒有這樣的li,所以沒有選擇,也沒有添加任何元素。

0

您正試圖將li元素與屬性media="print"匹配。目前,您沒有具有此屬性的單個li元素。

的代碼工作,你需要有

<ul id="breadcrumbs"> 
     <li class=""> 
      <a href="supporting-overview.html">Supporting Units</a> 
     </li> 

     <li class="" media="print"> 
      <a href="literacy-and-learning.html">Language of geography</a> 
     </li> 

     <li class="active"> 
      <a href="literacy-and-learning.html">literacy and learning</a> 
     </li> 

</ul> 

$("ul#breadcrumbs li[media='print']").append("<strong>Hello</strong>"); 

Live Demo

+0

對不起!實際上,我只是在打印模式下試圖在錨標籤之後添加一些HTML代碼。可能嗎? – user1409322

+0

@ user1409322當然有可能,使用append。 – freebird

0

穆薩是正確的。 jQuery只會定位HTML中定義的標籤和標籤屬性。

達到你想要什麼,你可以添加一個類要附

$("ul#breadcrumbs li").append("<strong class='visible-in-print'>Hello</strong>");

,並保持這個元素隱藏在所有介質類型,除了media @print

.visible-in-print { 
    display: none; 
} 

@media print { 
    .visible-in-print { 
     display: inline; 
    } 
} 
+0

這個怎麼樣? '$('<'style =「print」> ul#breadcrumbs li {font-weight:bold;}').append('Hello');' – user1409322

0

我的元素試過這個

$(document).attr('style', '@media print { body { font-size: 15pt } }')