我是否正确地说下面的内容会给我一个元素的id?
$('#detailData').on('click', '.select-topic', function (event) {
var id = $(this).attr('id');
如果这是正确的,那么我可以对该元素执行延迟点击 使用下面的代码。我不确定的是如何编写jQuery选择器?如何一起输入ID和#标记?
setTimeout(function () {
jQuery('???').trigger('click');
}, 1000);
答案 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');