【发布时间】:2019-06-12 18:49:50
【问题描述】:
我正在编写 html/php 代码,如下所示,在单击按钮时,我想将 Go 按钮文本更改为 Converting强>。
<?php foreach ($programs as $key => $program) { ?>
<tr data-index="<?php echo $key; ?>">
<td><input style="text-align:center; width:90px;" onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="<?php echo $key; ?>" ></input></td>
</tr>
<?php }?>
此时,我在 UI 上有 2 行。以下是检查代码:
<tr data-index="0">
<td><input onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="0" class="go-btn btn btn-outline-primary">
</td>
</tr>
<tr data-index="1">
<td><input onclick="change()" type="submit" id="go-btn" name="go-button" value="Go" data-id="1" class="go-btn btn btn-outline-primary">
</td>
</tr>
这是我尝试过的,但还有更多工作要做。
function change()
{
var elem = document.getElementById("go-btn");
var attribute = elem.getAttribute('data-id');
console.log(attribute); // It will print 0 everytime as it is taking the data-id value in the document.
}
问题陈述:
我想知道我应该在上面的 JS 代码 中进行哪些更改,以便在单击按钮时,按钮内的文本 属于特定行应从 Go 更改为 Converting。
【问题讨论】:
-
在同一个页面中,同一个 id 不应该有多个元素。 Id 应该在页面上具有唯一值。否则很多事情可能无法按预期工作。例如,getElementById 将始终只返回一个元素,无论页面中有多少具有相同 id 的元素
-
@Santi 这就是检查。可能我可以从 html/php 代码中删除 id。我正在将 foreach 循环与在检查时生成多行的表一起使用。
-
如果你不使用那个 id 什么都不会发生,但是如果你打算使用它,你应该设计页面,以便每个 id 都有一个唯一的值。因为许多技术(css、javascript 等)假设每个 id 只属于一个元素并根据该假设工作
标签: javascript php jquery button getattribute