2011-09-28 64 views
0

任何人都知道爲什麼這不工作?

CSS

#test1 
{ 
    height: 50px; 
    border: 1px solid black; 
} 

#test2 
{ 
    height: 50px; 
    color: red; 
    border: 1px solid black; 
} 

HTML

<div id="test1"> 
    test<br /> 
    Text 
</div> 
<br /> 
<div id="test2"> 
</div> 

jQuery的

$(document).ready(function(){ 
    if($("#test1").val() != "") 
    { 
     $("#test2").val($("#test1").val()); 
     $("#test2").val(""); 
    } 
}); 

我也有代碼的鏈接在這裏玩:http://jsfiddle.net/FDe9N/4/

$(document).ready在執行代碼之前沒有完全加載站點?如果是這樣的話,那意味着div應該已經包含文本了?代碼沒有擊中中的代碼,如果聲明,如果div是空的,實際上它確實有文本...提前致謝!

回答

4

val()只獲取或設置值爲表單元素。由於您使用的<div>元素,你應該使用text()html()代替:

$(document).ready(function() { 
    if ($("#test1").html() != "") { 
     $("#test2").html($("#test1").html()); 
     $("#test1").empty(); 
    } 
}); 
+0

我看你改了行:$( 「#測試2」)VAL( 「」); 我想知道這一點,如果text1不是空的原始代碼,將text2設置爲text1,然後擦除text2。這是沒有意義的,因爲你只是設置它,所以我猜這是實際的理想結果。 –

+0

@大衛,的確,我猜到了。事後刪除'#test2'的內容可能會讓提問者留下這樣的印象:答案不起作用。 –

+0

@David Houde你我打算擦除#test1這是一個錯字。 感謝您的幫助! –

1

使用.html()不是.val()。 Val是表單元素。

相關問題