我想在字符串中第一个逗号后隐藏字符串。
示例:ABCDEF,GHIJKL,MNOPQR。
输出:ABCDEF..显示更多
<h2 class="minimize"><?php echo $string; ?></h2>
<script type="text/javascript">
var minimized_elements = jQuery('h2.minimize');
minimized_elements.each(function(){
var t = jQuery(this).text();
if(t.length < 32) return;
jQuery(this).html(
t.slice(0,32)+'<a href="#" class="more_detail">Show More >></a>'+
'<span style="display:none;">'+ t.slice(32,t.length)+' <a href="#" class="less_detail">< Show Less</a></span>'
);
});
jQuery('a.more_detail', minimized_elements).click(function(event){
event.preventDefault();
jQuery(this).hide().prev().hide();
jQuery(this).next().show();
});
jQuery('a.less_detail', minimized_elements).click(function(event){
event.preventDefault();
jQuery(this).parent().hide().prev().show().prev().show();
});
</script>
我使用了此代码,但它无效。
请帮帮我。
答案 0 :(得分:1)
在 jQuery 上,您只需spit
字符串
$(function(){
var minimized_elements = jQuery('h2.minimize');
minimized_elements.html(function(){
var arr = $(this).text().split(",");
if ( arr.length === 1 ) return arr[0];
return arr.shift() + '<a href="#" class="more_detail">Show More >> </a>'+'<span style="display:none;">, ' + arr.join(",") + ' <a href="#" class="less_detail"> < Show Less </a> </span>';
});
jQuery('a.more_detail', minimized_elements).click(function(event){
event.preventDefault();
jQuery(this).hide().prev().hide();
jQuery(this).next().show();
});
jQuery('a.less_detail', minimized_elements).click(function(event){
event.preventDefault();
jQuery(this).parent().hide().prev().show().prev().show();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h2 class="minimize">ABCDEF ,GHIJKL , MNOPQR</h2>
<h2 class="minimize">11111 ,2222 , 3333</h2>
<h2 class="minimize">ABCDEF</h2>