2015-11-20 64 views
0

我有下面的代碼在下面,我試圖獲取用戶已經在其上覆蓋的文本的值..目前它什麼都不返回。jquery沒有正確返回href文本值

這裏是我下面的代碼和小提琴這裏Fiddle Demo(行號263至269

var LinkVal = $(this).closest('div.previewCard-b').find('.previewCardPageLink').text(); 
console.log(" LinkVal " + LinkVal); 
console.log(" sometext " +$(this).parent().find('.previewCardPageLink').text());         
var assembledInfo = LinkVal + ' | Ohm'; 
alert("assembledInfo " +assembledInfo) 
+1

在添加現場演示時,請添加必要的**最少**代碼以重現問題 – Tushar

+0

使用'$ that'而不是'this'怎麼辦? –

+0

錯誤,幾乎400是不夠我最近鑽研你的代碼,並給你一個確切的答案,但如果你想要一個href字符串,因爲它的屬性,你得到它與attr('href')和**不是**文本() – JSelser

回答

0

因爲你只是在尋找與該類.previewCard-content你的元素中的<a>項的值,你根本就添加。他們使用.on(),因爲它們是動態加載的事件處理程序下面的代碼打印出內部<a>項目的任何文本的元素到控制檯內部:

$(".previewCard-content").find("a").on("mouseover", function() { 
    console.log($(this).text()); 
}); 

Fiddle Example

0

我已經更新您的Fiddle Demo here

你已經使用變量$正確的,在線路261:

$that.hide().closest('p').next(".previewCard-content").slideDown("slow"); 

但你也需要爲$(本)的行做同樣的264:

var LinkVal = $that.closest('div.previewCard-b').find('.previewCardPageLink').text(); 

我想這只是你忘了的一件小事。因爲我可以看到你在右側分配給變量$ $(本),在257行:

var $that = $(this); 

因爲$(本),在那裏指的是「鼠標懸停」元素,而$(本)中的264指的是setTimeout函數。

+0

我其實已經在評論中指出了這一點,但似乎OP選擇器沒有得到他們所期望的。 –

+0

@SpencerWieczorek好吧,我只是堅持他的要求,「試圖獲得用戶所關注的文本的價值」,因爲我更新的Fiddle Demo完全是這樣做的。 – salkuadrat

+0

@SpencerWieczorek有可能他沒有得到你的第一條評論「怎麼樣使用$而不是這個」。我的意思是在他的代碼中有這麼多「這個」,也許他用另一條線嘗試了它,只是忘了在特定的行中這樣做。所以,當他說「剛剛嘗試過」那個「沒有任何回報」時,我懷疑他是否真正做到了你的意思。 – salkuadrat