2017-01-05 34 views
0

2名格的文字我顯然新的jQuery的,所以我希望得到什麼應該是簡單的一些幫助。我有以下網頁不能設置在jQuery的

<html><body> 
<div id="mytitle1">Hello</div> 
<p/> 
<div id="mytitle2">World</div> 
</body></html> 

這呈現很好。但是,如果我嘗試按如下方式設置jquery中的值,則只會呈現第一個div。當我調試我看到,這兩個div設置,但第二個從呈現的HTML頁面'擦除'。 (在渲染後檢查頁面,我只看到第一個div)。

<body> 
<div id="title1" /> 
<p /> 
<div id="title2" /> 

<script type="text/javascript"> 
    $(showtitle); 

    function showtitle() { 
     $("#title1").text("Hello"); 
     $("#title2").text("World"); }; 

什麼給?

+2

...你已經成功收到一個錯誤在控制檯重新'showtitle'。請檢查。 – 31piy

+0

你肯定有一個js錯誤,所以它不工作。 – Jai

+0

難道你不小心築巢這兩個div的或者是代碼* *完全相同像你上面貼的最後一個代碼塊? – Robert

回答

3

調用該函數的語法不正確。您目前正在把函數引用一個jQuery對象的內部,而不是你想用它的名字後加()只是調用它。

您還需要包裝代碼中的document.ready事件處理程序,以確保它只有當#titleX元素在DOM可用運行。試試這個:

$(function() { 
 
    showtitle() 
 

 
    function showtitle() { 
 
    $("#title1").text("Hello"); 
 
    $("#title2").text("World"); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="title1"></div> 
 
<p></p> 
 
<div id="title2"></div>

還要注意的是<div><p>元素是不是自閉,你需要添加一個單獨的</div></p>關閉它們按照上面的例子。

+0

謝謝。這工作。我認爲$(functionname)在文檔準備就緒時被調用,但我認爲情況並非如此。 –

1

你必須與你的HTML錯誤。你沒有關閉divs。您必須在兩個div上使用結束標籤。例如:</div>
此外,沒有像</p>這樣的事情。 <p>標籤用於wrtinig段落,並且應該有一個結束標籤。

這裏試試這個代碼(我的作品):

<div id="title1"></div> 
<div id="title2" ></div> 

<script type="text/javascript"> 
    $(showtitle); 

    function showtitle() { 
     $("#title1").text("Hello"); 
     $("#title2").text("World"); 
    }; 
</script> 
+0

你是對的。代碼是好的,但HTML是一個問題。 –