这是DEMO
HTML CODE为
<div id="me"></div>
<a id="ok" href="">OK</a>
jquery代码:
var tr = '';
for (var i = 0; i < 100; i++) {
tr += '<tr><td>a' + i + '</td></tr>';
}
var table = '<table>';
table += tr;
table += '</table>';
$('#me').append(table);
$('td').each(function(index, value) {
if ($(this).text() == 'a50') {
$(this).addClass('yellow').attr('id', 'search');
}
});
$('#ok').attr('href','#search');
$('#ok').trigger('click');
要做:在每个td的表格中都有数据。我正在尝试搜索数据。如果找到搜索数据,则将td添加为属性类为黄色,id为搜索。 我有一个锚标记。锚标记是模拟:当它被点击时,窗口将滚动到该位置。我还添加了内部链接到锚标记。
现在,单击Anchor标记以使页面导航到href位置
问题页面未导航到内部链接。锚标签没有触发点击有什么问题吗?但是当我用鼠标
单击锚标签时导航答案 0 :(得分:1)
将最后一行替换为
window.location.href='#search';
适合我:)
答案 1 :(得分:1)
点击和导航之间存在差异。因此,当它在锚标记中是href时,它更像是导航 试试这个fiddle
var tr = '';
for (var i = 0; i < 100; i++) {
tr += '<tr><td>a' + i + '</td></tr>';
}
var table = '<table>';
table += tr;
table += '</table>';
$('#me').append(table);
$('td').each(function(index, value) {
if ($(this).text() == 'a35') {
$(this).addClass('yellow').attr('id', 'search');
}
});
location.href='#search';
答案 2 :(得分:1)
我认为你应该使用window.location.href
。请尝试以下方法:
// define this click event for #ok
$('#ok').on('click', function() {
window.location.href = this.href
});
$('td').each(function(index, value) {
if ($(this).text() == 'a50') {
$(this).addClass('yellow').attr('id', 'search');
}
});
$('#ok').attr('href', '#search');
$('#ok').click(); // trigger the click
<强> DEMO 强>