2014-09-06 87 views
3
<div id="resultperpage"> 
    <span><a>12</a></span> 
    <span><a>24</a></span> 
    <span><a>48</a></span> 
    <span><a>98</a></span> 
</div> 


$('#resultperpage span').click(function() { 
    $('#resultperpage span').html($(?).html() + 'A')); 
}); 

<div id="resultperpage"> 
    <span><a>12A</a></span> 
    <span><a>24A</a></span> 
    <span><a>48A</a></span> 
    <span><a>98A</a></span> 
</div> 

請幫我更換問號jQuery的功能,使輸出文字+「A」更新內容

回答

2

您可以使用html()回調函數,而不是全部更換他們

$('#resultperpage span').click(function() { 
    $('#resultperpage span').html(function(_, html) { 
     return html + 'A'; 
    }); 
}); 

或更換的只是點擊一個

$('#resultperpage span').click(function() { 
    $(this).html(function(_, html) { 
     return html + 'A'; 
    }); 
}); 
+0

很好的解決方案,在這裏是[小提琴](http://jsfiddle.net/hc35pyaq /)。 – dashtinejad 2014-09-06 13:06:56

+0

我想要的是,當用戶點擊任何span元素時,所有span元素文本都應該更改爲舊文本+'A'。這怎麼可能? – 2014-09-06 13:08:04

+0

@ars,用函數參數閱讀'html()'的文檔。它會循環收集所有元素 – charlietfl 2014-09-06 13:10:17

0

您還可以使用t他each()功能:

$('#resultperpage span').click(function() { 
    if($(this).html().substr($(this).html().length-1)!='A'){ 
     $('#resultperpage span').each(function(){ 
      $(this).html($(this).html() + 'A'); 
     }); 
    } 
}); 

DEMO

1

JQuery的

$("#resultperpage span a").each(function(){ 
    var txt= $(this).text(); 
    $(this).text(txt+"A"); 
}); 

DEMO