Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取<;a>;从一个函数到另一个函数的标记_Javascript_Jquery_Html_Json_Ajax - Fatal编程技术网

Javascript 获取<;a>;从一个函数到另一个函数的标记

Javascript 获取<;a>;从一个函数到另一个函数的标记,javascript,jquery,html,json,ajax,Javascript,Jquery,Html,Json,Ajax,我对javascript/jQuery非常陌生,所以如果我的问题对您来说太简单,对我来说太难,请耐心等待。 这是一个函数,我只是不发布完整的代码,因为它太长了 我还有另外一个函数,它也有一个ajax,我想通过它来获取标记的ID: function someName() { jQuery.ajax({ type: 'POST', url: 'thisisprivate.aspx', data: { action: 'MyAction', word

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

我还有另外一个函数,它也有一个ajax,我想通过它来获取
标记的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);
    }
  });
}

试试这个:您可以在创建
a
标记时单击调用它,并传递
这个
对象,它只不过是
a
标记元素,请参见下面的代码

 var htmlCode = '<a href="#/app/video?id='+json[i].bcid+json[i].name+'" class="list" id="'+ json[i].bcid +'" onclick="VideoDiv(this)"></a>';

注意:上述ajax调用中的数据属性不完整,请更正。

尝试以下操作:您可以在创建标记时单击调用
a
标记,并传递
对象,该对象只不过是
a
标记元素,请参见下面的代码

 var htmlCode = '<a href="#/app/video?id='+json[i].bcid+json[i].name+'" class="list" id="'+ json[i].bcid +'" onclick="VideoDiv(this)"></a>';
注意:上述ajax调用中的数据属性不完整,请更正。

您所做的是:

jQuery('a').click(function() {
    VideoDiv(jQuery(this).attr('id'));
});
这将不起作用,因为
的性质(有关详细信息):

上面的代码可以工作,但是对于所有的
来说,最好使用
this.id
获取
id

jQuery(".static-parent").on("click", '.class', function () {
    VideoDiv(this.id);
});
以上是最好的代码

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

setTimeout(
  (function () {
    VideoDiv(this.id);
  }).bind(this), 10
);
这将让jQuery处理下一个偶数处理程序,并在接下来的10毫秒内(如果可用)执行此代码。

您要做的是:

jQuery('a').click(function() {
    VideoDiv(jQuery(this).attr('id'));
});
这将不起作用,因为
的性质(有关详细信息):

上面的代码可以工作,但是对于所有的
来说,最好使用
this.id
获取
id

jQuery(".static-parent").on("click", '.class', function () {
    VideoDiv(this.id);
});
以上是最好的代码

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

setTimeout(
  (function () {
    VideoDiv(this.id);
  }).bind(this), 10
);
这将让jQuery处理下一个偶数处理程序,并在接下来的10毫秒内(如果可用)执行此代码。

使用
onclick=“function();”
,并传递函数中所需的参数

function VideoDiv(id) 
{
   //your ajax goes here
}
你的HTML代码应该是这样的

你的VideoDiv功能

function VideoDiv(id) 
{
   //your ajax goes here
}
onclick=“function();”
与锚点一起使用,并在函数中传递所需的参数

function VideoDiv(id) 
{
   //your ajax goes here
}
你的HTML代码应该是这样的

你的VideoDiv功能

function VideoDiv(id) 
{
   //your ajax goes here
}


传递id,如
VideoDiv(id)
您在第一个ajax调用中生成了多个
a
标记,您想在下一个ajax调用中传递哪一个标记?请参阅如何传递变量。@BhushanKawadkar哦,是的,我忘了包含,我想在单击标记时传递id,我该怎么做。。对不起,我真的很抱歉newbie@JCBorlagdan您没有在任何地方调用函数
VideoDiv()
。你真的在调用它吗?像
VideoDiv(id)
那样传递id你在第一个ajax调用中生成了多个
a
标记,你想在下一个ajax调用中传递哪一个标记?看看如何传递变量。@BhushanKawadkar哦,是的,我忘了包含,我想在单击标记时传递id,我该怎么做。。对不起,我真的很抱歉newbie@JCBorlagdan您没有在任何地方调用函数
VideoDiv()
。你真的这么叫吗?啊,伙计,小错误。你想更正还是我来更正?@JCBorlagdan看起来代码中有错误,伙计。@PraveenKumar,你是在说ajax调用中的数据吗?如果是的话,那么我已经在我的答案中加了注释。无论如何,谢谢:)是的,这里不完整,但在我的文档中是完整的,正如我在帖子中所说,我没有发布完整的代码,因为我只是指出了我的问题:)嗯,点击我的标签仍然不起作用。。我将尝试其他解决方案,但非常感谢您的快速回复,先生@BhushanKawadkarAh man,小错误。你想更正还是我来更正?@JCBorlagdan看起来代码中有错误,伙计。@PraveenKumar,你是在说ajax调用中的数据吗?如果是的话,那么我已经在我的答案中加了注释。无论如何,谢谢:)是的,这里不完整,但在我的文档中是完整的,正如我在帖子中所说,我没有发布完整的代码,因为我只是指出了我的问题:)嗯,点击我的标签仍然不起作用。。我将尝试其他解决方案,但非常感谢您的快速回复,先生@BhushanKawadkarDon,不要这样做!!!只需执行
这个.id
。请不要浪费处理时间和磁盘空间来获取单个
id
。请仅仅因为jQuery是可用的,并不意味着你必须一直使用它。非常感谢!我们都会很感激这个小小的建议。为了使它稍微好一点,在没有很多好处的情况下,可以使用
setTimeout((function(){VideoDiv(this.id);}).bind(this),10)。这将让jQuery处理下一个偶数处理程序,并在接下来的10毫秒内(如果可用)执行此代码。@IsmaelMiguel我不明白。
setTimeout
有什么作用?@IsmaelMiguel我信任你,并添加了它。谢谢!:)我不久前就学会了。记住,如果
VideoDiv()
是一个缓慢的函数,并且需要很长时间才能完成,那么我向您展示的技巧将更加有用。它允许jQuery处理所有其他事件处理程序(例如,更改背景),只有这样它才会运行
VideoDiv()
。这可以防止浏览器被锁定。不要这样做!!!只需执行
这个.id
。请不要浪费处理时间和磁盘空间来获取单个
id
。请仅仅因为jQuery是可用的,并不意味着你必须一直使用它。非常感谢!我们都会很感激这个小小的建议。为了使它稍微好一点,在没有很多好处的情况下,可以使用
setTimeout((function(){VideoDiv(this.id);}).bind(this),10)。这将让jQuery处理下一个偶数处理程序,并在接下来的10毫秒内(如果可用)执行此代码。@IsmaelMiguel我不明白。
setTimeout
有什么作用?@IsmaelMiguel我信任你,并添加了它。谢谢!:)我一年前很短时间就学会了