首页 > 解决方案 > 获取子元素html的id

问题描述

我有这样的javascript代码:

<tr id='$stavkaid'>
    <td class='nonEditableData'>$naziv</td>
    <td contenteditable='true' class='editableData' onkeypress='return (event.charCode == 8 || event.charCode == 0 || event.charCode == 13 || event.charCode == 46) ? null : event.charCode >= 48 && event.charCode <= 57' onblur='if(innerHTML.length <= 0) { innerHTML = 0 }else{ innerHTML = innerHTML, checkInput(parentNode.id)}'>$kolicina</td>
    <td contenteditable='true' class='editableData' onkeypress='return (event.charCode == 8 || event.charCode == 0 || event.charCode == 13 || event.charCode == 46) ? null : event.charCode >= 48 && event.charCode <= 57' onblur='if(innerHTML.length <= 0) { innerHTML = 0 }else{ innerHTML = innerHTML, checkInput(parentNode.id)}'>$pcbp</td>
    <td contenteditable='true' class='editableData' onkeypress='return (event.charCode == 8 || event.charCode == 0 || event.charCode == 13 || event.charCode == 46) ? null : event.charCode >= 48 && event.charCode <= 57' onblur='if(innerHTML.length <= 0) { innerHTML = 0 }else{ innerHTML = innerHTML, checkInput(parentNode.id)}'>$rabat</td>
    <td class='nonEditableData'>$pcsp</td>
    <td class='nonEditableData'>$pvsp</td>
</tr>

正如你在 3 中看到的那样,td我运行 javascript 函数checkInput(parentNode.id)

函数如下所示:

function checkInput(stavkaID)
{
    alert(stavkaID);
}

它就像魅力一样工作,但现在我想要的是以某种方式获取每一行的值,tr其中stavkaID选择了一个。

所以它是如何进入我脑海的就是以某种方式在函数内部我做了这样的事情

function checkInput(stavkaID)
{
    var naziv = getElementById(stavkaID).nowSomehowIdentifyTDWithValueFor(naziv).innerHTML;
    //And like this for other 5 variables
}

我知道我可以循环遍历每个元素,tr问题是确定td我的循环当前所在的位置。

我无法为其设置 id,td因为它将是静态的,并且下次我创建tr它时将具有相同的 id,这是不可能的。

标签: javascriptphpjqueryhtml

解决方案


使用this.

onkeypress="...; checkInput(parentNode.id, this)"

function checkInput(stavkaId, td) {
   console.log(stavkaId, td);
}

推荐阅读