Does tr contrain specific class Ruby Nokogiri











up vote
0
down vote

favorite












I'm trying to identify tr tags with class favoured such as:



<tr class="home favoured ">


I have this:



tableSpread = doc.css('.consensus-table').first
tableSpread.search('tr').each do |tr|
tr.at_css('.favoured')
end


I'm having no success identifying the class; I'm getting nil for every iteration of the loop.










share|improve this question




























    up vote
    0
    down vote

    favorite












    I'm trying to identify tr tags with class favoured such as:



    <tr class="home favoured ">


    I have this:



    tableSpread = doc.css('.consensus-table').first
    tableSpread.search('tr').each do |tr|
    tr.at_css('.favoured')
    end


    I'm having no success identifying the class; I'm getting nil for every iteration of the loop.










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm trying to identify tr tags with class favoured such as:



      <tr class="home favoured ">


      I have this:



      tableSpread = doc.css('.consensus-table').first
      tableSpread.search('tr').each do |tr|
      tr.at_css('.favoured')
      end


      I'm having no success identifying the class; I'm getting nil for every iteration of the loop.










      share|improve this question















      I'm trying to identify tr tags with class favoured such as:



      <tr class="home favoured ">


      I have this:



      tableSpread = doc.css('.consensus-table').first
      tableSpread.search('tr').each do |tr|
      tr.at_css('.favoured')
      end


      I'm having no success identifying the class; I'm getting nil for every iteration of the loop.







      css ruby nokogiri






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 5 at 3:45









      sawa

      128k27191296




      128k27191296










      asked Nov 5 at 2:00









      Salim Chorfi

      12




      12
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













          Your tr is the same node that has class favoured, whereas your use of the selectors is valid when you want to match a descendant of tr that has class favoured. You should do:



          tableSpread.search('tr.favoured').each do |tr|
          ...
          end





          share|improve this answer

















          • 1




            You can also test whether a node has a class using tr.matches?('.favoured'), if you need more complex conditional processing; but if you just want to "identify tr tags with class favoured", sawa's is a much better choice.
            – Amadan
            Nov 5 at 5:29












          • Thank you!! it works perfectly!
            – Salim Chorfi
            Nov 6 at 0:59











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53147376%2fdoes-tr-contrain-specific-class-ruby-nokogiri%23new-answer', 'question_page');
          }
          );

          Post as a guest
































          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote













          Your tr is the same node that has class favoured, whereas your use of the selectors is valid when you want to match a descendant of tr that has class favoured. You should do:



          tableSpread.search('tr.favoured').each do |tr|
          ...
          end





          share|improve this answer

















          • 1




            You can also test whether a node has a class using tr.matches?('.favoured'), if you need more complex conditional processing; but if you just want to "identify tr tags with class favoured", sawa's is a much better choice.
            – Amadan
            Nov 5 at 5:29












          • Thank you!! it works perfectly!
            – Salim Chorfi
            Nov 6 at 0:59















          up vote
          1
          down vote













          Your tr is the same node that has class favoured, whereas your use of the selectors is valid when you want to match a descendant of tr that has class favoured. You should do:



          tableSpread.search('tr.favoured').each do |tr|
          ...
          end





          share|improve this answer

















          • 1




            You can also test whether a node has a class using tr.matches?('.favoured'), if you need more complex conditional processing; but if you just want to "identify tr tags with class favoured", sawa's is a much better choice.
            – Amadan
            Nov 5 at 5:29












          • Thank you!! it works perfectly!
            – Salim Chorfi
            Nov 6 at 0:59













          up vote
          1
          down vote










          up vote
          1
          down vote









          Your tr is the same node that has class favoured, whereas your use of the selectors is valid when you want to match a descendant of tr that has class favoured. You should do:



          tableSpread.search('tr.favoured').each do |tr|
          ...
          end





          share|improve this answer












          Your tr is the same node that has class favoured, whereas your use of the selectors is valid when you want to match a descendant of tr that has class favoured. You should do:



          tableSpread.search('tr.favoured').each do |tr|
          ...
          end






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 5 at 3:42









          sawa

          128k27191296




          128k27191296








          • 1




            You can also test whether a node has a class using tr.matches?('.favoured'), if you need more complex conditional processing; but if you just want to "identify tr tags with class favoured", sawa's is a much better choice.
            – Amadan
            Nov 5 at 5:29












          • Thank you!! it works perfectly!
            – Salim Chorfi
            Nov 6 at 0:59














          • 1




            You can also test whether a node has a class using tr.matches?('.favoured'), if you need more complex conditional processing; but if you just want to "identify tr tags with class favoured", sawa's is a much better choice.
            – Amadan
            Nov 5 at 5:29












          • Thank you!! it works perfectly!
            – Salim Chorfi
            Nov 6 at 0:59








          1




          1




          You can also test whether a node has a class using tr.matches?('.favoured'), if you need more complex conditional processing; but if you just want to "identify tr tags with class favoured", sawa's is a much better choice.
          – Amadan
          Nov 5 at 5:29






          You can also test whether a node has a class using tr.matches?('.favoured'), if you need more complex conditional processing; but if you just want to "identify tr tags with class favoured", sawa's is a much better choice.
          – Amadan
          Nov 5 at 5:29














          Thank you!! it works perfectly!
          – Salim Chorfi
          Nov 6 at 0:59




          Thank you!! it works perfectly!
          – Salim Chorfi
          Nov 6 at 0:59


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53147376%2fdoes-tr-contrain-specific-class-ruby-nokogiri%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          這個網誌中的熱門文章

          Academy of Television Arts & Sciences

          L'Équipe

          1995 France bombings