Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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 jQuery中的选择器和条件问题_Javascript_Jquery - Fatal编程技术网

Javascript jQuery中的选择器和条件问题

Javascript jQuery中的选择器和条件问题,javascript,jquery,Javascript,Jquery,我有一个简单的HTML模板,在整个文档中多次使用。它本质上是以下div元素,围绕几个p元素和另一个带有class按钮的div元素。出于可视化目的,以下是一个示例: <div class="content"> <p>First paragraph</p> <p>Second paragraph</p> <div><a class="button" href="http://www.app

我有一个简单的HTML模板,在整个文档中多次使用。它本质上是以下
div
元素,围绕几个
p
元素和另一个带有class
按钮的
div
元素。出于可视化目的,以下是一个示例:

<div class="content">    
    <p>First paragraph</p>
    <p>Second paragraph</p>

    <div><a class="button" href="http://www.apple.com/ipad/">Change me jQuery!</a></div>
</div>

<div class="content">    
    <p>First paragraph</p>
    <p>Second paragraph</p>

    <div><a class="button" href="http://www.apple.com/iphone/">Change me jQuery!</a></div>
</div>

第一段

第二段

第一段

第二段

现在,将使用此模板在网站上发布内容的用户并不总是在锚定标记中使用相同的url,但我确实知道他们可以使用哪些url。因此,我试图对我的代码执行以下操作:

  • 发布内容并为锚定标记提供url后 地址,我想查一下那个地址,看看有没有具体的地址 里面有个字。如果找到该单词,则将锚文本更改为我选择的内容
  • 再次执行相同操作,但这次检查url字符串中的其他单词
  • 以下是我写的:

    $('.content').each(function () {
        var $this = $(this),
            $findP = $this.find('p');
    
        if ($findP.length > 2) {
            // Run some code
        } else if ( ($findP.length <= 2) && ($('a[href*="ipad"]')) ) {
            $this.find('a.button').text('Visit iPad site');
        } else if ( ($findP.length <= 2) && ($('a[href*="iphone"]')) ) {
            $this.find('a.button').text('Visit iPhone site');
        }
    });​
    
    $('.content')。每个(函数(){
    变量$this=$(this),
    $findP=$this.find('p');
    如果($findP.length>2){
    //运行一些代码
    }如果($findP.length

    您需要将您的条件更改为:

    } else if ( ($findP.length <= 2) && ($this.find('a[href*="ipad"]').length) ) {
    
    }如果($findP.length

    您需要将您的条件更改为:

    } else if ( ($findP.length <= 2) && ($this.find('a[href*="ipad"]').length) ) {
    

    }如果($findP.lengthHiya在这里做了一个不同的小演示:

    上面的演示使用以下选择器之一:

    一旦选择器匹配,它会将文本更改为所需的文本

    这很可能是不太详细的方式,请让我知道,如果我错过了什么

    希望这有助于B-)

    代码

       $('a[href*="ipad"]').text("Visit iPad site");
       $('a[href*="iphone"]').text("Visit iPhone site");
    

    Hiya在这里做了一个与众不同的演示:

    上面的演示使用以下选择器之一:

    一旦选择器匹配,它会将文本更改为所需的文本

    这很可能是不太详细的方式,请让我知道,如果我错过了什么

    希望这有助于B-)

    代码

       $('a[href*="ipad"]').text("Visit iPad site");
       $('a[href*="iphone"]').text("Visit iPhone site");
    

    你好@zerkms howz it bruv,你能看到我下面的答案吗?它足以满足OP所问的需求“+1我以前也想到过同样的事情”干杯!在我发布问题几秒钟后,我想到了你用我的情况强调的问题,我很高兴你已经解决了。非常感谢!我也尝试了你提到的第二个选项,但不幸的是我无法让它工作。@zerkms:明白了。再次感谢。你好@zerkms howz it bruv,你能看到我的答案吗它如何满足OP要求的需求“+1我以前也想到过同样的事情”干杯!在我发布问题几秒钟后,我想到了你用我的情况强调的问题,我很高兴你解决了它。非常感谢!我也尝试了你提到的第二个选项,但不幸的是,我无法让它工作。@zerkms:明白了。再次感谢。是的,你做对了,而且确实没有那么冗长的密码g、 谢谢你!是的,你做对了,而且它确实没有那么冗长的编码。谢谢!