如何在此示例中找到给定id的seq编号?
<table>
<tr class="row_header thin_border">
</tr><tr id="id33192010101533333" seq="2">
<td>20101015</td>
<td>600</td>
<td>730</td>
<td><a href="#" onclick="deleteActivity(3319,20101015,1);">Click</a></td>
<td><a href="#" onclick='selectEditActivity("id3319201010153333");'>Click</a></td>
</tr>
<tr id="id3319201010151111" seq="3">
<td>20101015</td>
<td>600</td>
<td>730</td>
<td><a href="#" onclick="deleteActivity(3319,20101015,1);"> <img src="/bbhtml/img/deleteAction.png"></a></td>
<td><a href="#" onclick='selectEditActivity("id3319201010151111");'><img src="/bbhtml/img/editAction.png"></a></td>
</tr>
<table>
<script>
function selectEditActivity(pass_id){
alert("seq# =:" + ???)
}
</script>
答案 0 :(得分:39)
试试这个
var id = document.getElementById("divId").getAttribute("attributeId");
答案 1 :(得分:6)
检索DOM元素,然后获取seq
属性:
document.getElementById(id).getAttribute('seq'); // note: this will return a string, and getElementById might return null in case there is no element with the given id.
答案 2 :(得分:5)
使用jQuery:
var seq = $('#id33192010101533333').attr("seq");
没有jQuery:
vvar seq = document.getElementById("id3319201010151111").getAttribute("seq");
您可以在this Fiddle尝试这两种方式。
这两个选项可以在任何浏览器中使用!
首先,最好为自定义属性data-seq
而不是seq
命名。 HTML5标准允许使用自定义元素,但仅在其名称以data-
开头时才认为它们有效。
此外,将点击处理程序直接放在CSS中并不是一个好主意。最好使用class
属性或某个自定义data-action
属性,其值为edit
或delete
,然后在完成加载页面时附加事件处理程序。然后,查看具有data-seq
属性并获得该属性的第一个祖先。
正如一个演示说的千言万语,这是一个演示:
var list = document.querySelectorAll('[data-action="delete"]');
for (var i = 0; i < list.length; ++i) {
list[i].addEventListener("click", function(e){
alert('delete ' + e.target.closest('[data-seq]').getAttribute('data-seq'));
});
}
var list = document.querySelectorAll('[data-action="edit"]');
for (var i = 0; i < list.length; ++i) {
list[i].addEventListener("click", function(e){
alert('edit ' + e.target.closest('[data-seq]').getAttribute('data-seq'));
});
}
table, td {
border : 1px solid #333;
}
td {
padding : 10px;
}
<table>
<tr class="row_header thin_border"></tr>
<tr id="id33192010101533333" data-seq="2">
<td>20101015</td>
<td>600</td>
<td>730</td>
<td><a href="#" data-action="delete">Click</a></td>
<td><a href="#" data-action='edit'>Click</a></td>
</tr>
<tr id="id3319201010151111" data-seq="3">
<td>20101015</td>
<td>600</td>
<td>730</td>
<td><a href="#" data-action="delete"> <img src="https://i.stack.imgur.com/mRsBv.png?s=64&g=1"></a></td>
<td><a href="#" data-action='edit'><img src="https://i.stack.imgur.com/mRsBv.png?s=64&g=1"></a></td>
</tr>
<table>
或者,如果您更喜欢jQuery方式,则可以使用以下(更简单的)代码替换JavaScript代码:
$('[data-action="delete"]').click(function(e){
alert('delete ' + $(this).closest('[data-seq]').data('seq'));
});
$('[data-action="edit"]').click(function(e){
alert('edit ' + $(this).closest('[data-seq]').data('seq'));
});
另请参阅this Fiddle和this Fiddle,了解JSFiddle上的相同演示,分别是没有和使用jQuery。
答案 3 :(得分:1)
您想使用objRef.getAttribute('seq')或计划旧点符号objRef.seq