2013-01-01 58 views
3

我不知道,如何有機會這個腳本jQuery的,請大家幫忙 的JavaScript如何將JavaScript中的元素id轉換爲jQuery?

function show_t(id){ 
    document.getElementById("hide_t_"+id).style.visibility='visible'; 
} 
function hide_t(id){ 
    document.getElementById("hide_t_"+id).style.visibility='hidden'; 
} 

這是在PHP的div元素,與上面的腳本

<div class='item' onMouseOver="show_t('$dataBB[0]')" 
onMouseOut="hide_t('$dataBB[0]')"> 

我有麻煩,當我改變此腳本

$("#show_t1"+id).mouseover(function(){ 
    document.getElementById("hide_t_"+id).style.visibility='visible'; 
}).mouseout(function(){ 
    document.getElementById("hide_t_"+id).style.visibility='hidden'; 
}); 

上面的DIV元件腳本是

<div id="show_t$dataBB[0]"> 
<span id='hide_t_$dataBB[0]' class='hide_input'> 
</span> 
</div> 

你可以看到我在www.tumbasklik.com

回答

2

一步一步

  1. 沒有必要的onMouseOver.item的div onMouseOut功能。刪除它們。無需通過valuesphp

  2. 讓你的跨度有意義的 - 而不是把hide_item類所有的跨度,把類作爲buy-option hidden。是否所有的樣式.buy-option { /* Styles */ }並把.hidden { display: none; }

  3. 更改jQuery代碼到這麼多的只是:

    jQuery(function($) { 
        $('div.item').mouseover(function() { 
         $(this).find('.buy-option').removeClass('hidden'); 
        }) 
        $('div.item').mouseout(function() { 
         $(this).find('.buy-option').addClass('hidden'); 
        }); 
    }); 
    
  4. 檢查Working fiddle和複製從各自的I幀粘貼代碼(HTML,CSS,JS)

  5. 開始學習jQuery的開始從DOM traversal

+0

非常感謝:),你可以發送你的文件到我的郵箱[email protected] –

+0

我有請參閱jsfiddle.net/OMS_/4CLAZ,其工作。哈哈哈不錯....我愛你...非常感謝 –

4

變化

document.getElementById("hide_t_"+id).style.visibility='visible'; 

手段

$("#hide_t_"+id).css('visibility','visible'); 

您的代碼會。

$("#show_t1"+id).mouseover(function(){  
    $("#hide_t_"+id).css('visibility','visible'); 
}).mouseout(function(){  
    $("#hide_t_"+id).css('visibility','hidden'); 
}); 

編輯:你可以改變你的選擇,而不是使用餵養ID,並使用類範圍,而不是生成的ID外卡。

Live Demo

$("[id^=show_t]").mouseover(function() { 
    $(this).find('.hide_input').css('visibility', 'visible'); 
}).mouseout(function() { 
    $(this).find('.hide_input').css('visibility', 'hidden'); 
});​ 
+0

怎麼樣的股利ELEM耳鼻喉科?

+0

你可以使用jQuery的find()方法來選擇div元素,如$(「#hide_t _」+ id).find('。hide_input')會給你跨度 瞭解更多關於這裏查找,http:// api.jquery.com/find/ – Adil

+0

夥計們,它的功能不是:( –

0

使用jQuery -

$("#hide_t_"+id).hide(); 
$("#hide_t_"+id).show(); 

嘗試像這個 -

$("#show_t1"+id).mouseover(function(){ 
    $(this).show(); 
}).mouseout(function(){ 
    $(this).hide(); 
}); 

demo

+0

隱藏和顯示使用顯示不顯示樣式的屬性 – Adil

+0

我有使用此suresh,但它沒有用-_- –

+0

@ArryanggaAlievPratamaputra:更新我的帖子請嘗試這樣。 –

0
$("#show_t1"+id).mouseover(function(){ 
    $("#hide_t_"+id).css('visibility','visible'); 
}).mouseout(function(){ 
    $("#hide_t_"+id).css('visibility','hidden');; 
}); 
+0

誰有問題的答案 –