2012-04-20 48 views
0

是否有可能在點擊某個元素內找到特定數據,然後將該數據寫入變量)?(jQuery + Mobile)目標數據在一個div寫入變量

例如,我有一個列表,以及導航到「#dataviewer」類「數據源」的元素:

<ul> 
    <li class="datasource"> 
     <a href="#dataviewer" >Get this data</a> 
    </li> 
</ul> 

我知道我可以使用像這樣針對該特定列表元素:

$(".datasource").click(function() { 
     alert("Click!"); 
}); 

...但我可以獲取「獲取此數據」並將其寫入變量,以便在'#datasource'頁面上使用該數據?

非常感謝。

回答

1

「獲取此數據」可以通過.html()函數檢索。關閉以下的警報:

alert($("a").html()); 

顯然,您可以選擇性地根據您的頁面的其餘部分找到「a」元素。

要將值存儲到一個變量,只是存儲的輸出是這樣的:

// Probably not exactly what you want when there are many "a"nchor tags on a page. 
var contentsOfElement = $("a").html(); 
// More selective based on an ID 
var contentsOfElement = $("#oneParticularID").html(); 
// Then you can write that text, store it, or whatever you'd like 

使用你的代碼作爲一個模板,我創造了這個running example

The documentation for .html()

+0

嗯......好像不喜歡的東西,因爲它只是提醒「提交」當我確實提醒($(「a」)。html());當我把它傳遞給一個變量並且提醒變量它說相同 – Squishy 2012-04-20 15:36:18

+0

@Squishy;你需要對你的選擇更具體。 $(「a」)將捕獲頁面上的每個錨點。這只是當你在頁面上只有一個「a」時的一個例子。查看我編輯的答案,瞭解如何通過ID查找元素。一定要給你的主播一個id,例如'' – veeTrain 2012-04-20 15:39:31

+0

明白了,謝謝你的幫助! – Squishy 2012-04-20 15:45:11

1

有了這樣一個ListView:

<div data-role="page"> 
<ul data-role="listview"> 
    <li class="datasource"> 
     <a href="#dataviewer" >Row A</a> 
    </li> 
    <li class="datasource"> 
     <a href="#dataviewer" >Row B</a> 
    </li> 

</ul> 
</div>​​​​​​​ 

你可以使用一個單擊處理程序是這樣的:

​$(".datasource").click (function() { 
    alert($(this).find('a').first().html()); 
});​​​​​ 
+0

.first()僅在第一次點擊時獲取數據,但是沒有任何後續事件? – Squishy 2012-04-20 15:49:03

+0

'find('a')'返回一個數組。 'first()'獲取數組中的第一個條目。 – Ryan 2012-04-20 15:51:52

+0

看到這個jsFiddle演示:http://jsfiddle.net/RweVJ/ – Ryan 2012-04-20 15:52:22

相關問題