Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取一个<;a>;标签_Javascript - Fatal编程技术网

Javascript 获取一个<;a>;标签

Javascript 获取一个<;a>;标签,javascript,Javascript,我正在解析XML并将其放在一个简单的表中,如下所示: function showData(message) { var str = "<table border=1 class='editable'>"; for (var i = 0; i < message.length; i++) { str += "<tr>" + "<td>" + message[i].id + "</td>" +

我正在解析XML并将其放在一个简单的表中,如下所示:

function showData(message) {
    var str = "<table border=1 class='editable'>";
    for (var i = 0; i < message.length; i++) {
        str += "<tr>" + "<td>" + message[i].id + "</td>" +
                       "<td>" + message[i].name + "</td>" +
                       "<td>" + message[i].url + "</td>" +
                       "<td>" + message[i].desc + "</td>" + 
                       "<td>" + "<a href='javascript:deleteRequest();' id=message[i].id>delete</a>" + "</td>" + "</tr>";
    }
    str += "</table>";
    return str;
}
函数显示数据(消息){
var str=“”;
对于(变量i=0;i
我在表的最后一列中有一个标记,我正在尝试设置标记的id,或者可以从deleteRequest方法获取它,以便删除表中的该项

1) 我不确定是否为标记正确设置了id


2) 我不确定如何在deleteRequest方法中获取所选标记的id(如iOS中的发送者),或者是否将id作为参数传递给deleteRequest()。我不确定哪种方法更好。我尝试执行一个简单的警报(参数[0]),以查看在这种情况下传递了什么,但没有定义。所以我有点不知所措,因为我只是在学习Javascript。谢谢。

对于包含链接的行,请尝试以下方法:

"<td>" + "<a href='javascript:deleteRequest(this);' id='" + message[i].id + "'>delete</a>" + "</td>" + "</tr>";

// OR, without the extra + operations:
"<td><a href='javascript:deleteRequest(this);' id='" + message[i].id + "'>delete</a></td></tr>";
(显然,
alert(el.id)
只是如何访问
id
属性的一个示例,此时您可以使用它执行任何操作。)

关于术语的说明:您的问题标题是“获取标记的id元素”-
id
是一个属性,链接是一个锚元素(或“a”元素),在html标记中,锚元素是用
定义的;

关于如何进一步排除问题的任何建议?我理解您的答案,但我在警报(el.id)时未定义。Typeof等于object。请参阅我的编辑。我认为从
href
属性中调用您的函数未正确设置
(因此它可能等于
window
而不是单击的锚定,并且
window.id
将是未定义的,尽管
typeof window
是“object”).
如果您使用
onclick
,此
将被正确设置-最后额外的
返回false;
是取消默认的单击操作,即导航到指定的URL-指定“#“这意味着它实际上不会去任何地方,但如果没有
return false
,它可能会滚动回页面顶部)。太棒了!感谢您的详细解释和更新的解决方案!
function deleteRequest(el) {
   // el is the <a> that was clicked
   alert(el.id);    // displays the id from the row that was clicked
}
<a href="#" onclick="deleteRequest(this); return false;">
"<td><a href='#' onclick='javascript:deleteRequest(this);return false;' id='" + message[i].id + "'>delete</a></td></tr>";