JavaScript和jQuery警报查找(";td:first";).html()并单击
我不确定为什么使用find(“td:first”).html()的getScore变量id不起作用。我已经能够创建我的表,但是我的单击事件将不起作用。我被难住了。任何意见都将不胜感激JavaScript和jQuery警报查找(";td:first";).html()并单击,javascript,jquery,html,alert,Javascript,Jquery,Html,Alert,我不确定为什么使用find(“td:first”).html()的getScore变量id不起作用。我已经能够创建我的表,但是我的单击事件将不起作用。我被难住了。任何意见都将不胜感激 <div id="cer"></div> <script type="text/javascript"> // jQuery onClick event // the click function MUST BE USED CANNOT BE ALTERED
<div id="cer"></div>
<script type="text/javascript">
// jQuery onClick event
// the click function MUST BE USED CANNOT BE ALTERED OR REMOVED
$(function () {
$("table tr").click(function (event) {
function getCereal(id) {
for (var cerId = 0; cerId < cereals.length; cerId++){
if(cereals[cerId].id == id){
alert(cereals[cerId].id +" " + cereals[cerId].name + " " +
cereals[cerId].like);
break;
}
}
}
var id = $(this).find("td:first").html();
getCereal(id)
// This creates an cereal constructor object
function cereal(id, name, like) {
this.id = id;
this.name = name;
this.like = like;
}
// This creates 5 new objects with cereal information.
const cereals = [
new cereal(1, 'Captain Crunch', 'Yes'),
new cereal(2, 'Frosted Wheats ', 'Yes'),
new cereal(3, 'Shredded Wheat', 'No'),
new cereal(4, 'Trix', 'No'),
new cereal(5, 'Count Chocula', 'No'),
];
var output = "<h1>Cereal Listing</h1><table><thead>"+"<tr>"+"<th>"+"Id"+"</th>"+"<th>"+"Cereal Name"+"</th>"+"<th>"+"Like?"+"</th>"+"</tr>"+"</thead>"
for (var x = 0; x < cereals.length; x++) {
output +='<tr>' + "<td>" + cereals[x].id + "</td>" +"<td>" + cereals[x].name + "</td>" + "<td>" + cereals[x].like +"</td>" + '</a>' + "</tr>";
}
output += "</table>";
document.getElementById('cer').innerHTML = output;
})
});
</script>
//jQuery onClick事件
//单击功能必须使用,不能更改或删除
$(函数(){
$(“表tr”)。单击(函数(事件){
函数(id){
对于(var-cerId=0;cerId
我们真的不清楚这里的目标是什么。也许这会有帮助,考虑下面的代码。< /P>
$(函数(){
功能谷物(id、名称等){
this.id=id;
this.name=名称;
this.like=like;
}
常量谷物=[
新麦片(1,“Crunch船长”,“是”),
新麦片(2,‘磨砂小麦’、‘是’),
新谷类食品(3,“小麦丝”,“No”),
新麦片(4,‘Trix’、‘No’),
新麦片(5种,“巧克力计数”,“否”),
];
var output=“谷物上市”;
输出+=“”;
输出+=“idlike?”;
输出+=“”;
美元。每种(谷物,功能(k,c){
变量行=$(“”{
“数据-c-id”:k
});
$(“”).html(c.id).appendTo(行);
$(“”).html(c.name).appendTo(行);
$(“”).html(类似c.like).appendTo(行);
输出+=行.prop(“outerHTML”);
});
输出+=“”;
$(“#cer”).html(输出);
$(“.graines table”)。在(“单击”,“tr”,函数(e){
var cId=parseInt($(this).data(“c-id”);
控制台日志(“行C-ID:+cId”);
var数据=”;
数据+=“ID:”+谷物[cId].ID;
数据+=”,名称:“+谷物[cId]。名称;
数据+=”,如:“+谷物[cId]。如
警报(数据);
});
});代码>
从清理字符串开始<代码>“+”
与“
相比没有任何作用,在处理变量时只需将字符串添加在一起,如“+谷物[x]。名称+”
您的代码示例具有未注释掉的注释。你被困在哪里?您尝试了什么?在创建标题>您的表tr
th
注册onClick事件时,如果用户执行正确的事件,我应该使用th吗。我不知道使用getScore函数迭代行来执行什么来获取行信息。我从来没有听说过find('td:first').html()函数。谢谢你的帖子。很抱歉给您带来了混乱。我需要使用jQuery创建表,然后单击要输出的行,这将提醒该行。我相信我已经基于我的代码启动了一些东西,但是它仍然不起作用。见编辑当你说会提醒大家的时候,我不知道那是什么意思。嗨,Twisty。我已经编辑了我的原始帖子,但是其目的是在用户单击行时发送警报。其目的是使用行中的所有数据发出警报,而不管它们在何处单击。我已经编辑了我原来的帖子并添加了一些新代码。让我知道这是否有意义。唯一的问题是我必须使用find(“td:first”).html();和函数$(function(){($(“table tr”)。单击(function(event){function getgrane(id){无法更改。@对二进制文件进行了修改,以使用数组索引和表中的数据。相同的结果,不同的方法。