我有一个像这样的Bootstrap表,
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<table class="table table-striped table-bordered">
<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>
<tr><td><a class="cl" href="" onclick="call()">Mickey</a></td><td>Mouse</td><td>5</td>
<tr><td><a class="cl" href="" onclick="call()">Tom</a></td><td>Cat</td><td>6</td>
<tr><td><a class="cl" href="" onclick="call()">Pooh</a></td><td>Bear</td><td>4</td>
<tr><td><a class="cl" href="" onclick="call()">Donald</a></td><td>Duck</td><td>7</td>
<tr><td><a class="cl" href="" onclick="call()">Jerry</a></td><td>Mouse</td><td>8</td>
</table
<br /><br />
<div id="output"></div>
<script>
$('.cl').click(function() {
var t = $(this).text();
$('#output').html(t);
});
</script>
</body>
</html>
firstname列包含超链接。当用户单击任何firstnames时,该值应返回到输出<div>
,而不进行任何页面重定向。
我在控制台中收到此错误,
"ReferenceError: call is not defined
at HTMLAnchorElement.onclick (http://null.jsbin.com/runner:1:993)"
我在这里做错了什么?
这是我到目前为止所做的事情的链接 - http://jsbin.com/loqikixesa/edit?html,console,output
答案 0 :(得分:1)
我相信你想要这个(使用文字而不是val):
var t = $(this).text();
答案 1 :(得分:1)
只需阻止anchor
代码的默认操作,并使用.text()
代替.val()
,
$('.cl').click(function(e) {
e.preventDefault();
$('#output').html($(this).text());
});
同时删除这些元素的内联处理程序。这将产生冲突。
答案 2 :(得分:0)
你只做这个
$('.cl').click(function() {
var t = $(this).text();
$('#output').append(t);
});
如果您现在可以使用val或文本检查此Difference between val() and text()