Javascript &引用;单击1获取1,单击2获取2“;

Javascript &引用;单击1获取1,单击2获取2“;,javascript,html,jquery,css,Javascript,Html,Jquery,Css,如何将其修复为单击1获取1,单击2获取2 $(函数(){ $('div.abox>a')。在('click',函数(e)上{ e、 预防默认值(); }); }); $('div.abox')。单击(函数(){ $('div.abox').css('display','none'); $('div.page').css('display','block'); 第页(); }); var-num=1; var p={ 1: { “标题”:“标题1”, ‘img’:‘1111’, “解释”:“ex

如何将其修复为单击1获取1,单击2获取2

$(函数(){
$('div.abox>a')。在('click',函数(e)上{
e、 预防默认值();
});
});
$('div.abox')。单击(函数(){
$('div.abox').css('display','none');
$('div.page').css('display','block');
第页();
});
var-num=1;
var p={
1: {
“标题”:“标题1”,
‘img’:‘1111’,
“解释”:“ex1”
},
2: {
“标题”:“标题2”,
‘img’:‘2222’,
“解释”:“ex2”
},
3: {
“标题”:“标题3”,
‘img’:‘3333’,
“解释”:“ex3”
},
4: {
“标题”:“标题4”,
‘img’:‘4444’,
“解释”:“ex4”
}
}
功能页(){
var abox=$('div.abox>a');
$(“#title”).html(p[num][“title”);
$(“#img”).html(p[num][“img”);
$(“#解释”).html(p[num][“解释”);
}

标题
img
解释

您可以使用
.text()
获取单击的标记的文本,然后使用该文本显示您的值

演示代码

var p={
1: {
“标题”:“标题1”,
‘img’:‘1111’,
“解释”:“ex1”
},
2: {
“标题”:“标题2”,
‘img’:‘2222’,
“解释”:“ex2”
},
3: {
“标题”:“标题3”,
‘img’:‘3333’,
“解释”:“ex3”
},
4: {
“标题”:“标题4”,
‘img’:‘4444’,
“解释”:“ex4”
}
}
$(函数(){
$('div.abox>a')。在('click',函数(e)上{
e、 预防默认值();
console.log($(this.index()+1)//或者这样
console.log($(this.data('id'))//或以这种方式
var num=$(this).text();//或者这样
$(“#title”).html(p[num][“title”);
$(“#img”).html(p[num][“img”);
$(“#解释”).html(p[num][“解释”);
});
$('div.abox>a:eq(0)')。触发器('click')
});

标题
img
解释


更好的方法是添加数据num以链接并通过$(this.attr('data-num')在单击函数中获取数据。

函数页()更改为
函数页(num)
并在
上单击
写入
页(1)
第(2)页等-(然后可以删除变量声明
var num=1
)还有更好的方法,代码中还有更多可以改进的地方,但这至少应该可以让它工作,并且可以继续。(我没有将此作为完整答案提交,因为它有点原始,只是一个提示,我没有太多时间,但它可能已经有帮助了。)解析显示的文本从来都不是一个好主意。如果您采用“将其存储在html中”的方法(这是一个好主意),那么将其存储在
数据-
属性中。感谢您的建议@freedomn-m:)我在回答中也添加了这一点。非常感谢各位。我已经解决了。请查看以改进格式。