2012-09-24 39 views
3

雖然jQuery的單擊事件的第一次,但第二次談到空而jQuery的單擊事件得到了第一次,但第二次談到空

JS拿到價值價值:

$(".topPanel").live('click', (function(e) { 

    form = $(e.target).attr("name"); 
    content = $("." + form);  
    $(".show_panel1").html(""); 
    $(".show_panel1").html(content); 
    $(".show_panel1").show(); 

})); 

HTML:

<div class="topPanel" > 
    <span id="5" name="panther" style="background: #990000;" class="span_1"> 
        Panther</span> 
    <span id="6" name="lion" style="background: #009900;" class="span_1"> 
        Lion</span>   
</div> 

<div class="show_panel1" > 
    <label class="label">welcome</label> 
</div> 
<div class="tiger" > 
    <label class="label">i am panther</label> 
</div> 
<div class="lion" > 
    <label class="label">i am lion</label> 
</div>​ 

CSS

.label 
{ 
    font-family: Verdana; 
    font-size: medium; 
    font-weight:lighter; 
    color: #FF990000; 
    float:inherit; 
    margin:10mm; 
} 

.topPanel 
{ 
    float: left; 
    color:#000000; 
    background: none repeat scroll 0% 0% orange; 
    width: 1280px; 
    margin: 10px 5px 5px 10px; 
} 

.span_1 
{ 
    float: left; 
    height: 40px; 
    width:5%; 
    padding:20px; 
    margin: 0px 5px 0px 0px; 
} 

+1

哪裏是.topPanel和什麼是getFunction() –

+0

我的代碼美化工不是很好的HTML,謝謝維加。 –

+0

我添加了.topPanel和getFunction是不同的場景,所以忽略它,謝謝!現在呢? – Jordon

回答

1

這兩條線沒有意義:

content = $("." + form);  
$(".show_panel1").html(content); 

content是一個jQuery對象。你不能把一個jQuery對象放入另一個對象的html中。也許你的意思是:

var content = $("." + form);  
$(".show_panel1").html(content.html()); 

這將獲得從內容對象中的HTML,放入.show_panel1。請注意,我也宣稱content變量是一個局部變量,而不是允許它是一個隱式的全局變量,這是不好的。


請告訴我們,包含class="form"所以我們可以看到你實際上試圖在這裏做的HTML。

此外,.live()已被棄用(您不應再使用它)。替換爲.on()(用於最新版本的jQuery)或.delegate()(用於舊版本的jQuery)。

+0

窗體是一個變量,我們正在通過一個類 – Jordon

+0

做得好謝謝! – Jordon

+0

@ jfriend00我宣佈內容爲全局變量在我的主代碼這一個是參考 – Jordon

0

看起來這是

$(".show_panel1").html(content); 

你正經過一個選擇器,HTML

的罪魁禍首應該是

$(".show_panel1").html(content.html()); 

而且<div class="tiger" >

應該是<div class="panther" >

您試圖調用虎類中不存在

Check this FIDDLE所有的更新變化

+0

所有完成謝謝! – Jordon

+0

我做了老虎和豹類的變化... – Jordon

+0

很酷..那麼它是否按預期工作? –

2

jsBin demo

$(".topPanel").on('click', 'span', function(){ 

    var form = $(this).attr("name"); 
    var content = $("." + form).html();  
    $(".show_panel1").html(content).show(); 

}); 

PS:不知道爲什麼你需要.show()但這裏是!

+0

謝謝@roXon!全做完了... – Jordon

相關問題