我试图在有人按下 Show More 以获取按钮的 id 时制作脚本,如果 id 以“Show_More_ID_”开头以获取 id 的数量,然后使类为“Box_Show_ID_”的 Box 显示更多或较少的
示例 ID/类:
<div class="Box_Show_ID_1"></div>
<input type="button" id="Show_More_ID_1" value="Show More" />
这是我现在制作的代码,但无法正常工作......
我试图在有人按下 Show More 以获取按钮的 id 时制作脚本,如果 id 以“Show_More_ID_”开头以获取 id 的数量,然后使类为“Box_Show_ID_”的 Box 显示更多或较少的
示例 ID/类:
<div class="Box_Show_ID_1"></div>
<input type="button" id="Show_More_ID_1" value="Show More" />
这是我现在制作的代码,但无法正常工作......
小提琴: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);
}
});
});
这个 Show more/less 演示怎么样?演示http://jsfiddle.net/yyene/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);
});
JSFiddle 并没有真正通过显示更多按钮指示您想要什么,如果它是一个链接,或者它是否应该显示另一个 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 库。我将其调整为我认为您想要做的事情:
似乎比真正需要的复杂性要多。看这个。我更改了您的一些 HTML,添加了一个 jQuery 库(您将其标记为 JavaScript,但正在编写 jQuery),并添加了一个 click() 函数:
$('.btn').click(function(){
this_id = $(this).attr('id');
$('.Box_Show_ID_'+this_id).toggle();
});