使用jquery';:包含';在范围内查找特定的javascript

使用jquery';:包含';在范围内查找特定的javascript,jquery,Jquery,这是我第一次来这里,我希望这是清楚的 所以我会有类似的代码 <span class="mediaSource ui-draggable" id="purchsePlay7915504"> <a href="" onclick="return popup_window(this, 'MediaView', 850, 680)" class="control" enter code hereid="GenericLink"></a> <i

这是我第一次来这里,我希望这是清楚的

所以我会有类似的代码

 <span class="mediaSource ui-draggable" id="purchsePlay7915504">
    <a href="" onclick="return popup_window(this, 'MediaView', 850, 680)" class="control"  enter code hereid="GenericLink"></a>
    <img id="Any_71" alt="Media Source" src="images/9672web.gif" class="mediaStationIcons mediaWin"/>
    <img class="player" alt="Media Source" src="images/playmedia.gif" style="display: none;"/>
    </span>  

但它似乎不起作用。

:contains
仅适用于特定元素中的文本。如果文本“popup_window”在节点
span
中没有按字面意思拼写,则不会应用

我还注意到,您的
if
检查检查的是常规
span
,而不是本地
span
。不同之处在于,当您单击
span.mediaSource
时,单击将应用于其中包含
弹出窗口
元素的任何span。要检查本地范围,您需要使用
this
,如
$(this).children('span:contains(“x”))


为了选择整个节点,您需要知道要选择的元素的某些属性、类或id。使用函数名将不起作用。另外,如果您要选择的元素是通过JS动态生成的(看起来是这样),那么您还必须确保在发送脚本以尝试选择它之前加载了该元素,否则您可能会遇到异步性问题。

try$('span>a[onclick*=“popup_window”]”

首先正确选择a标记,然后在中单击查看属性的值

$(document).ready(function() {

  $('span.mediaSource a.control').click(function(e) {

    if ($(this).attr('onclick').indexOf('popup_window') {
      //Do Stuff
    }

    e.preventDefault(); //Cancel the click action
  });

});

无需使用选择器来检查onclick属性,这将非常缓慢,因为选择器引擎可能需要检查多个元素。

是否有任何关于否决票的解释?我是来学习的,在没有背景的情况下投票否决并不能真正帮助我。
$(document).ready(function() {

  $('span.mediaSource a.control').click(function(e) {

    if ($(this).attr('onclick').indexOf('popup_window') {
      //Do Stuff
    }

    e.preventDefault(); //Cancel the click action
  });

});