3

这是演示
HTML 代码

<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');

TO DO:在每个 td 的表中都有数据。我正在尝试搜索数据。如果找到搜索数据,则添加td,属性class为黄色,id为搜索。我有一个锚标签。锚标签是为了模拟:当它被点击时,窗口将滚动到那个位置。我还添加了锚标签的内部链接。

现在,要单击 Anchor 标记,以便页面导航到 href 位置

问题 页面没有导航到内部链接。锚标签不触发点击有什么问题吗?但是当我用鼠标单击锚标记时导航

4

3 回答 3

1

将最后一行替换为

window.location.href='#search​​';

为我工作:)

于 2012-06-15T04:40:09.373 回答
1

点击和导航之间有区别..所以当它是锚标签中的href时,它更像是导航试试这个小提琴

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';
于 2012-06-15T04:42:05.723 回答
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

演示

于 2012-06-15T05:06:18.810 回答