问问题
3552 次
6 回答
5
您不需要将 ID 传递给函数,因为它本身接收元素。如果需要,它可以使用.id
属性访问器获取 ID:
function passto(elem) {
alert(elem.id);
// Do other stuff
}
于 2013-09-08T04:52:03.557 回答
3
如果您打算使用 jQuery,onclick
直接使用该属性几乎没有意义。为您的链接添加一个类,然后像这样定位它们:
标记:
<a id="some-id-1" class="your-neato-class" href="#">Some Neat Title</a>
jQuery:
$('a.your-neato-class').on('click', function(e){
e.preventDefault(); // stop anchor navigation
// e is a JavaScript element that has some useful properties...
passTo(e.target.id);
});
正如@Jack 所指出的,您也可以使用-this.id
来代替e.target.id
-this
是在事件委托内部使用时触发事件的 DOM 元素。见:http ://remysharp.com/2007/04/12/jquerys-this-demystified/
于 2013-09-08T05:36:42.897 回答
2
echo '<li ><a id="'.$rowmnu2['link'].'" ref="#" onclick="passto('.$rowmnu2['link'].')">'.$rowmnu2['title'].'</a></li>';
于 2013-09-08T05:12:03.587 回答
1
您应该做的第一件事是正确地转义您的变量以供 HTML 使用:
printf('<li ><a id="%s" href="#" onclick="passto.call(this, event)">%s</a></li>',
htmlspecialchars($rowmnu2['link'], ENT_QUOTES, 'UTF-8'),
htmlspecialchars($rowmnu2['title'], ENT_QUOTES, 'UTF-8')
));
我已经改变了onclick
这样的属性:
passto.call(this, event)
当passto()
被调用时,它将this
指向元素本身,例如
function passto(event)
{
event.preventDefault();
alert(this.id);
}
于 2013-09-09T02:05:42.350 回答
1
尝试这个。
echo '<li ><a id="'.$rowmnu2['link'].'" href="#" onclick="passto(this.id)">'.$rowmnu2['title'].'</a></li>';
于 2013-09-08T04:51:56.737 回答
0
尝试这个。:)
<li><a id="'.$rowmnu2['link'].'" href="#" onclick="passto(this.id)">'.$rowmnu2['title'].'</a></li
于 2013-09-08T05:03:02.843 回答