2013-10-31 39 views
0

我在博客上有幾篇文章,我需要從「p_」類設置每個帖子的類別。如何查找帶有前綴的類並附加到元素?

<article class="some-class p_category-name post"> 
    This is the category: <span id="category"></span> 
</article> 

這是我的代碼,但不工作(我不是那麼好於JQ):

var category = $("article.post").find("div[class^='p_'], div[class*=' p_']"); 
$("#category").text(category); 

編輯:它有一個機會,不是每一個崗位都有「P_」類。

回答

2

我認爲你正在尋找

$('article.post > span.category').text(function() { 
    return $(this).parent().attr('class').match(/\bp_(.*?)[\s|$]/)[1] 
}) 

演示:Fiddle

我改變了標記使用category類跨度,這樣可以有多個文章在頁面

<article class="some-class p_category-name post"> 
    This is the category: <span class="category"></span> 
</article> 
+0

這幾乎是好的,但正如你所看到的,類別的名稱是「category-name」,而你的腳本只寫了「category」。 – Stefanie

+0

+1非常好的解決方案:) –

+0

@Stefanie呀!錯過了...修正 –

1

Arun P Johny爵士有一個偉大的答案

只是一分錢他的回答,使其工作作爲OP希望。

fiddle

$('article.post > span.category').text(function() { 
    return $.trim($(this).parent().attr('class').match(/\bp_(.*?)*\s\b/)[0]).replace('p_', ''); 
}) 
+0

我只在控制檯中獲得Object []'。 – Stefanie

+0

是的,你想解釋什麼?你有類別嗎? –

+0

是的,每個帖子都有一個分類,只有1. – Stefanie

相關問題