gpt4 book ai didi

javascript - 获取从一个函数到另一个函数的 标签的 id

转载 作者:行者123 更新时间:2023-11-28 15:11:23 25 4
gpt4 key购买 nike

我对 javascript/jQuery 很陌生,所以如果我的问题对你来说太简单而对我来说太困难,请耐心等待。
这是来自一个函数,我只是不发布完整的代码,因为它太长了。

我还有另一个函数,它也有 ajax,我想通过获取 <a> 的 ID标签:

function someName() {
jQuery.ajax({
type: 'POST',
url: 'thisisprivate.aspx',
data: {
action: 'MyAction',
word: 'Wednesday',
count: '4',
page: '1'
},
success: function(data) {
var json = jQuery.parseJSON(data);
var htmlInfo = '';
for (i = 0; i < json.length; i++) {
var htmlCode = '<a href="#/app/video?id=' + json[i].bcid + json[i].name + '" class="list" id="' + json[i].bcid + '"></a>';
htmlInfo = htmlInfo + htmlCode;
}

jQuery('#WMVideoxx').html(htmlInfo);
}
});
}

function VideoDiv() {
jQuery.ajax({
type: 'POST',
url: 'thisisprivate.aspx',
data: {
action: 'actionNameHere',
idorname: id //I Want to pass the ID here
});
}

最佳答案

你正在做的是:

jQuery('a').click(function() {
VideoDiv(jQuery(this).attr('id'));
});

由于<a>的性质,这不会起作用。标签是动态生成的,并且事件未注册。考虑委派该事件(有关详细信息,请参阅 Understanding Event Delegation):

jQuery(document).on("click", 'a', function() {
VideoDiv(jQuery(this).attr('id'));
});

上面的代码可以工作,但会委托(delegate)所有 <a>文档内。相反,添加一个类或唯一标识它的东西。并这样调用它:

jQuery(document).on("click", 'a.class', function() {
VideoDiv(jQuery(this).attr('id'));
});

关于上述代码委托(delegate)的另一件事是,最好使用最近的静态父级而不是 document 。由于我不知道HTML结构,所以我使用了document:)

此外,如Ismael Miguel说,最好获得 id使用this.id :

jQuery(".static-parent").on("click", '.class', function () {
VideoDiv(this.id);
});

以上是最好的代码。

另外,再次指出,为了获得更好的性能,您可以将代码替换为:

setTimeout(
(function () {
VideoDiv(this.id);
}).bind(this), 10
);

这将让 jQuery 处理下一个偶数处理程序,并将在接下来的 10 毫秒(可用时)执行此代码。

关于javascript - 获取从一个函数到另一个函数的 <a> 标签的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36304848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com