我正在尝试制作脚本,当有人按下Show More以获取按钮的ID时,如果id以“Show_More_ID_”开头以获取id的数量,之后将Box类别设为“Box_Show_ID_”显示更多或更少
示例ID /类:
<div class="Box_Show_ID_1"></div>
<input type="button" id="Show_More_ID_1" value="Show More" />
这是我现在制作的代码,但是不起作用......
答案 0 :(得分:1)
答案 1 :(得分:1)
小提琴:http://jsfiddle.net/UPdmH/3/
$(document).ready(function(){
var Box_Data_MSG_1 = "Show More";
var Box_Data_MSG_2 = "Show Less";
var Box_Data_Height = "117px";
$("input[id*='Show_More_ID_']").click(function() {
var Box_ID = $(this).attr("id");
var ID_Split = Box_ID.split('_');
var Box_Data_ID = ID_Split[ID_Split.length-1];
var Box = ID_Split[2];
var Button_Value = $('#Show_More_ID_' + Box_Data_ID).attr("value");
if(Button_Value == Box_Data_MSG_1) {
$('#Show_More_ID_' + Box_Data_ID).attr('value', Box_Data_MSG_2);
}
});
});
答案 2 :(得分:0)
JSFiddle并没有真正用show more按钮指示你想要什么,如果它是一个链接,或者它是否应该显示另一个div
如果您将ID更改为ShowMoreID_1,则会更容易:
$('button').click(function(e) {
e.preventDefault();
var val = $(this).attr('id');
var str = val.split('_');
if(str[0] == 'ShowMoreID') {
var id = str[1];
// do stuff
} else {
// dont do stuff
}
});
更新以包含jQuery库。我把它调整到我认为你想做的事情:
答案 3 :(得分:0)
这个显示更多/更少的演示怎么样? DEMO http://jsfiddle.net/yeyene/uEXvk/1/
var orgContent = $('.excerpt').html();
var txtContent = $('.excerpt').text().substr(0, 50) + '... <a id="morelink">more</a>';
$('.excerpt').html(txtContent);
$("body").on("click", '#morelink', function(){
$('.excerpt').html(orgContent);
$('<a id="lesslink"> less</a>').appendTo('.excerpt');
});
$("body").on("click", '#lesslink', function(){
$('.excerpt').html(txtContent);
});
答案 4 :(得分:0)
似乎比实际需要更复杂。看这个。我更改了一些HTML,添加了一个jQuery库(你将它标记为JavaScript但正在编写jQuery),并添加了一个click()函数:
$('.btn').click(function(){
this_id = $(this).attr('id');
$('.Box_Show_ID_'+this_id).toggle();
});