如何获取元素的id,然后选择带有id的元素?

时间:2012-08-12 15:54:06

标签: jquery

我是否正确地说下面的内容会给我一个元素的id?

$('#detailData').on('click', '.select-topic', function (event) {
    var id = $(this).attr('id');

如果这是正确的,那么我可以对该元素执行延迟点击 使用下面的代码。我不确定的是如何编写jQuery选择器?如何一起输入ID和#标记?

setTimeout(function () {
    jQuery('???').trigger('click');
}, 1000);

2 个答案:

答案 0 :(得分:3)

$('#detailData').on('click', '.select-topic', function (event) {
    var id = $(this).attr('id');

现在您获得了ID,并使用“#”

选择该元素
setTimeout(function () {
    $('#' + id).trigger('click');
}, 1000);

答案 1 :(得分:1)

存储id会起作用,但为什么不首先缓存jQuery选择器 这也适用于元素可能没有指定id的情况。

缓存值的另一个好处是,当您想要使用它时,不必经常重新创建jQuery对象,从而节省了性能。

var $selectTopic;

$('#detailData').on('click', '.select-topic', function (event) {
    $selectTopic = $(this);
})

后者直接使用jQuery对象。

setTimeout(function () {
    $selectTopic.trigger('click');
}, 1000);

如果由于某种原因你需要再次选择字符串来查询嵌套元素,你可以使用:

$($selectTopic.selector + ' #anotherElementInside');