2013-12-13 21 views
0

對於JS和Jquery以及StackOverflow來說都很新穎,所以請原諒我,如果我不「正確地做到這一點」。我認爲這只是我的第四個問題。需要幫助瞭解對JS和jQuery vars的引用

我有一些代碼,我已經(承認)抄襲從各個地方發現的片段。 我很努力地試圖理解一些(我認爲)非常基本的概念......只是不知道如何反轉「查找」一段代碼以便自己找到答案。

在我的JS函數中,我做了一些條件檢查,並根據用戶選擇的單選按鈕設置各種字符串。

$("#showme").text("100.00"); 

隨地,我想在HTML中引用這可以這樣判定:

<div id=showme> 

這是工作如飛......沒有問題。

我的問題是這樣的: 我是否將名爲「showme」的JS變量設置爲字符串變量,或者這只是將某些文本插入HTML元素的一種方式。換句話說......沒有var被設置,但是這個結構只是作爲一個管道來插入一些文本?

我知道這對你們大多數人來說都很愚蠢......對不起!我正在嘗試學習。

回答

2

大致爲:

$是一個函數。

該函數採用選擇器,例如"#showme"指定的DOM元素的ID。

$返回一個DOM元素(或一個空集合,或一個ID,一個元素)的集合。

text方法設置(或檢索)DOM元素的文本。它在每個DOM元素上被調用。

您沒有明確設置任何變量:使用立即字符串("#showme")作爲$的選擇器參數。 jQuery將立即傳遞給text的字符串注入到由$選擇的DOM元素中。

0

ID標籤應該被引用:

<div id="showme"> 

您的JavaScript(以及jQuery的實際上)是說找到一個元素的ID = 「SHOWME」,並設置它的文本值設置爲 「100.00」

我會看看一些基本的jQuery教程here以幫助您入門。

+0

我的部分錯別字......它真的在我的代碼中引用。 – RCurtis

+0

無論如何它都不需要被引用,儘管IMO它*應該是*。 *在XHTML中是必需的。有時它們需要引號,例如多個類:'class =「foo bar」'需要引號,否則類之間的空間將作爲單獨的標記進行lexed。 –

+0

@DaveNewton同意,儘管我只是把它當作最佳實踐 – CSL

0

您不應該有多個具有相同ID屬性的標籤。 ID的意思是獨一無二的。類意味着要重複。

jQuery與其大部分選擇器類似。我建議閱讀這篇文章,瞭解ID和類之間的區別,以及CSS的使用示例。那麼也許這可以幫助你學習CSS和jQuery!

Difference between id and class in CSS and when to use it

+0

儘管如此,但它沒有以任何方式解決問題。 –

1

號 「SHOWME」 僅僅是一個ID - 它必須是唯一的 - 你分配給該元素。任何HTML元素都可以有一個ID。考慮將ID作爲HTML標記中不同元素的語音編號。

document.getElementById('showme').innerText='100.00'; 

相同

document.querySelector('#showme').innerText='100.00'; 

其是相同

$("#showme").text('100.00'); 

jQuery是主要只是用於與DOM交互的簡寫。

2

有了這個標記代碼:

<div id="showme"> 

您指示是在DOM(文檔對象模型)一個特定的地方,應該補充div類型和id屬性爲"showme"的節點瀏覽器。

有了這個JavaScript/jQuery代碼:

$("#showme") 

您查詢文檔的所有id屬性等於"showme元素」這一呼籲的結果將是一個jQuery對象,這是類似的。數組將包含與選擇器(id ===「showme」)匹配的元素作爲數字鍵和其他一些方法,其中一種方法是text()方法

使用此JavaScript/jQuery代碼:

$("#showme").text("100.00"); 

您將每個元素的文本內容設置爲id==="showme""100.00"。總之,看起來你的邏輯稍微有些落後。您不要將變量設置爲等於"showme",而是在瀏覽器創建的一個元素上設置屬性。 JavaScript代碼通過您編寫的操作(在這種情況下更改文本值)在DOM上(在您的HTML元素上)起作用。流程如下:標記你感興趣的元素,然後對它們做些什麼。設置id是有些可選的。您可以根據DOM的相對位置在DOM中的任何節點上執行操作,但這種方法在尋址鏈越長時間內就越容易中斷,這就是爲什麼優先使用id標記特定元素以及使用類的元素類標記的原因。

+0

謝謝!這有很大幫助。是的,我總是覺得它似乎是「倒退」,但似乎無法擊中正確的語法來顯示div元素中的「數字」var。我偶然發現了$(「#showme」)。text(「100.00」);並看到它的工作原理,所以我只是不善於編寫糟糕的代碼! (我的生活故事!)假設我真的有一個float var showme(設置爲100.0)......正確的語法是什麼才能顯示在HTML DIV格式化的價格? – RCurtis