2013-04-07 201 views
0

我目前有一個mouseenter,我調用一個函數來做一些不同的事情 - 在這個函數中,我也在尋找從$ this div改變某個div的文本。用jquery替換.class元素

HTML:

//item 1 
<div class="blockButton"> 
    <div class="blockButtonToggle">PLUS</div> 
</div> 

//item 2 
<div class="blockButton"> 
    <div class="blockButtonToggle">PLUS</div> 
</div> 

//item 3 etc... 
<div class="blockButton"> 
    <div class="blockButtonToggle">PLUS</div> 
</div> 

當徘徊項目1,2,3即時通訊尋求改變 「PLUS」 文本 「減」 爲特定塊-ONLY($這個)。

我試着用:

$('.blockButton div.blockButtonToggle').text($(this).data('MINUS')); 

然而,沒有工作 - 有什麼建議?

FIDDLE位置: http://jsfiddle.net/ANRfT/

回答

0
$('.blockButton div.blockButtonToggle').text('MINUS'); 

更多spesifically你可以這樣做:

$(".blockButton").on('mouseenter', textShow) 
       .on('mouseleave', textHide); 

function textShow() { 
    $(this).find('.blockButtonToggle').text('MINUS'); 
} 

function textHide() { 
    $(this).find('.blockButtonToggle').text('PLUS'); 
} 

FIDDLE

+0

結束了使用這一個,因爲我喜歡用的mouseenter,鼠標離開了簡化的方法。 – user1231561 2013-04-11 11:32:37

1

當你綁定功能的上下文中綁定的事件處理程序this意志引用事件綁定的元素。您可以通過包裝$(this)將其作爲jQuery對象。包裝元素後,您可以使用find方法獲取元素中的.blockButtonToggle。接下來,使用html()函數而不是text()來設置.blockButtonToggle元素的innerHtml。

//MOUSEOVER 
$(".blockButton").mouseenter(function() { 
    $(this).find(".blockButtonToggle").html("MINUS"); 
}); 

//MOUSEOUT 
$(".blockButton").mouseleave(function() { 
    $(this).find(".blockButtonToggle").html("PLUS"); 
}); 

工作實例http://jsfiddle.net/ANRfT/1/

0

你有相當多的錯誤。這裏是修復:

$(".blockButton").mouseenter(function() { 
    //Calling function to show text 
    textShow($(this).find(".blockButtonTips")); 
}) 

//MOUSEOUT 
$(".blockButton").mouseleave(function() { 
    //Calling function to hide text 
    textHide($(this).find(".blockButtonTips")); 
); 

function textShow(elementId) { 
    elementId.text('MINUS'); 
} 

function textHide(elementId) { 
    elementId.text('PLUS'); 
} 

Demo

+0

嗨user1479606, - 看來你的例子在這裏實際上並不是用MINUS取代PLUS,而是在容器中增加了MINUS? – user1231561 2013-04-07 14:39:24

+0

@ user1231561我只是基於你的代碼,因爲你使用'textShow($(this).find(「.blockButtonTips」));''和'.blockButtonTips'是'...' – Eli 2013-04-07 14:42:17

0

http://jsfiddle.net/ANRfT/4/

 $('.blockButtonToggle').hover(function() { 
$(this).text('MINUS'); 
     }); 
     $('.blockButtonToggle').mouseleave(function() { 
$(this).text('PlUS'); 
     });