2012-12-01 73 views
0

需要一些幫助完成此代碼;jQuery包含追加查找文本字符串和更多代碼

$(document).ready(function() { 
    var username = $('div.subtitle span').text(); 
    var $Head = $('div.main-content #field_id4 dt span'); 
    var $body = $('div.main-content #field_id5 dt span'); 
    var $contBody = $('div.main-content #field_id6 dt span'); 
    var $borders = $('div.main-content #field_id7 dt span'); 
$Head.filter(':contains("Black")') 
    .closest('#profile-advanced-layout') 
     .prepend('<div id="blackbg">'+ username +'Profile</div>'); 
$body.filter(':contains("Black")') 
     .closest('#profile-advanced-layout') 
     .css({'background':'#000'}); 
$contBody.filter(':contains("Black")') 
     .find('.main-content') 
     .css({'background':'#000'}); 
$borders.filter(':contains("Black")') 
    .find('main-content') 
     .css({'border':'2px solid #000'}); 
}); 

我最大的問題在這裏,因爲這只是第三次使用變量。但如果你看一下變量$username,我所要做的是div .subtitle範圍內搜索和獲取文本字符串,是跨度內,然後將其複製或什麼的,

又在哪裏是說$Head.filter,我希望它是「+用戶名+個人資料」,這是正確的變量被放置在那樣。我將如何去找到正確的文本字符串?

+0

讓你不得不使用的.text()方法的元素中的文本,而不僅僅是選擇的DOM元素 – Bruno

回答

0

嘗試

$username.html(); 

$username.text(); 

另外,$並不需要在變量名,你可以做

var username = $('div.subtitle span').html(); 

What is the difference between jQuery: text() and html() ?

+0

'$'是不需要,但我傾向於命名包含jQuery對象的變量,例如 –

+0

ok gotcha我稍後會嘗試此操作。 – EasyBB

+0

所以var用戶名是正確的。所以當我在$ Head.filter中輸入var時,等等等等等等等等等等等等。+或者什麼 – EasyBB

1

我認爲你正在試圖做到這一點:

.prepend('<div id="blackbg">' + $username.text() + 'Profile</div>'); 

,或者如果你有一個名爲username在一個單獨的可變文本:

.prepend('<div id="blackbg">' + username + 'Profile</div>'); 
+0

好,這樣我就可以得到它。現在我將如何以變量格式編寫? var username = .find('。subtitle span')。text(); 然後在頭var我會做+ $用戶名+?或仍然+ username.text()+ – EasyBB

+0

@ user1760670一旦在字符串中有文本,就不能再使用'.text()'。這只是一個字符串。如果你做'var username = .find('。subtitle span')。text();'然後你想用'+ username +'。請注意,你的代碼是錯誤的,因爲你不關閉字符串。看看我的。 –

+0

對不起關閉字符串?你的意思是像'代碼'+用戶名+'代碼'? – EasyBB

相關問題