.text ist nicht eine Funktion - jquery

Ich möchte den text meiner td aber ich habe diesen Fehler: $tds[2].text is not a function.

das Ergebnis von console.log('td',$tds[2]) wird :

enter image description here

$(document).ready(function() {
  $trs = $('table > tbody > tr')
  // console.log('trs',$trs)

  var items = []
  for (var $i = 0; $i < $trs.length; ++$i) {
    $tds = $trs[$i].cells

    console.log('td', $tds[2].text())

    var item = {}
    item['label'] = ''
    item['flag'] = ''
    item['value'] = ''

  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="tmain" dir="rtl" width="90%" border="0" align="center" id="Table8">
  <tbody>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="mer_name" checked=""></td>
      <td>نام فروشگاه</td>
      <td><input type="checkbox" name="rep_col" value="terminal_id"></td>
      <td>کد ترمينال</td>
      <td><input type="checkbox" name="rep_col" value="terminal_name"></td>
      <td>نام ترمينال</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="log_date" checked=""></td>
      <td>تاريخ ارسال</td>
      <td><input type="checkbox" name="rep_col" value="log_time" checked=""></td>
      <td>زمان ارسال</td>
      <td><input type="checkbox" name="rep_col" value="getpoint_date" checked=""></td>
      <td>تاريخ خريد</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="getpoint_time" checked=""></td>
      <td>زمان خريد</td>
      <td><input type="checkbox" name="rep_col" value="card_id" checked=""></td>
      <td>شماره کارت</td>
      <td><input type="checkbox" name="rep_col" value="name_pr"></td>
      <td>نام دارنده کارت</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="device_type"></td>
      <td>نوع پنل</td>
      <td><input type="checkbox" name="rep_col" value="amount" checked=""></td>
      <td>مبلغ</td>
      <td><input type="checkbox" name="rep_col" value="currency_" checked=""></td>
      <td>واحد</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="point_rate" checked=""></td>
      <td>ضريب لويالتی</td>
      <td><input type="checkbox" name="rep_col" value="point_lo" checked=""></td>
      <td>امتياز</td>
      <td><input type="checkbox" name="rep_col" value="doc_type" checked=""></td>
      <td>نوع پرداخت</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="cheque_num"></td>
      <td>شماره چک</td>
      <td><input type="checkbox" name="rep_col" value="cheque_date"></td>
      <td>تاريخ چک</td>
      <td><input type="checkbox" name="rep_col" value="account_number"></td>
      <td>شماره حساب</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="bank_type"></td>
      <td>نام بانک</td>
      <td><input type="checkbox" name="rep_col" value="branch_code"></td>
      <td>شعبه</td>
      <td><input type="checkbox" name="rep_col" value="approval_code"></td>
      <td>کد خريد اعتباری</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="rebate_cons_per" checked=""></td>
      <td>درصد کارمزد </td>
      <td><input type="checkbox" name="rep_col" value="special_discount"></td>
      <td>درصد تخفيف</td>
      <td><input type="checkbox" name="rep_col" value="pos_setup_rebate"></td>
      <td>درصد کارمزد بانی POS</td>
    </tr>
    <tr height="30">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="bin_setup_rebate"></td>
      <td width="33%">درصد کارمزد پشتيبان</td>
      <td><input type="checkbox" name="rep_col" value="merch_setup_rebate"></td>
      <td width="33%">درصد کارمزد بازارياب</td>
      <td><input type="checkbox" name="rep_col" value="merch_setup"></td>
      <td width="33%">بازارياب</td>
    </tr>
    <tr height="25">
      <td width="3%">&nbsp;</td>
      <td><input type="checkbox" name="rep_col" value="mer_id">
      </td>
      <td>کد فروشگاه</td>

      <td><input type="checkbox" name="rep_col" value="bin_code">
      </td>
      <td>کد پشتيبان</td>
      <td><input type="checkbox" name="rep_col" value="bin_name"></td>
      <td>نام پشتيبان</td>

    </tr>
  </tbody>
</table>

5 Antworten

  • sensor
    4. Mai 2019

    Sie sollten wickeln Sie das $tds[2] in jquery in etwa so: $($tds[2]) um .text() auf Sie.

    Hier ist ein Beispiel:

    $( document ).ready(function() {
    $trs = $('table > tbody > tr')
    // console.log('trs',$trs)
    
    var items = []
    for(var $i=0 ; $i < $trs.length ; ++$i){
        $tds = $trs[$i].cells
    
        console.log('td',$($tds[2]).text())
    
        var item        = {}
        item['label']   = ''
        item['flag']    = ''
        item['value']   = ''
    
    }
    
    });
    
  • Sundance.101
    4. Mai 2019

    Andreas ist korrekt. Ändern Sie das Objekt, ein jQuery-Objekt wie diesem.

     $tds = $($trs[$i].cells);
    

    Oder (vielleicht auch zu ineffizient)..

    console.log('td',$($tds[2]).text());
    

    Oder benutzen Sie einfach js

    console.log('td',$tds[2].innerText);
    

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText

  • Niraj Kaushal
    4. Mai 2019

    $tds[2] return HTMLDom object, jquery-Methoden, es muss Jquery Objekt. So wickeln $tds[2] mit $() wie $($tds[2]).

    $(document).ready(function() {
      $trs = $('table > tbody > tr')
      // console.log('trs',$trs)
    
      var items = []
      for (var $i = 0; $i < $trs.length; ++$i) {
        $tds = $trs[$i].cells
        
        //console.log('td', $tds[2].text())
        console.log('td', $($tds[2]).text())
    
        var item = {}
        item['label'] = ''
        item['flag'] = ''
        item['value'] = ''
    
      }
    
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <table class="tmain" dir="rtl" width="90%" border="0" align="center" id="Table8">
      <tbody>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="mer_name" checked=""></td>
          <td>نام فروشگاه</td>
          <td><input type="checkbox" name="rep_col" value="terminal_id"></td>
          <td>کد ترمينال</td>
          <td><input type="checkbox" name="rep_col" value="terminal_name"></td>
          <td>نام ترمينال</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="log_date" checked=""></td>
          <td>تاريخ ارسال</td>
          <td><input type="checkbox" name="rep_col" value="log_time" checked=""></td>
          <td>زمان ارسال</td>
          <td><input type="checkbox" name="rep_col" value="getpoint_date" checked=""></td>
          <td>تاريخ خريد</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="getpoint_time" checked=""></td>
          <td>زمان خريد</td>
          <td><input type="checkbox" name="rep_col" value="card_id" checked=""></td>
          <td>شماره کارت</td>
          <td><input type="checkbox" name="rep_col" value="name_pr"></td>
          <td>نام دارنده کارت</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="device_type"></td>
          <td>نوع پنل</td>
          <td><input type="checkbox" name="rep_col" value="amount" checked=""></td>
          <td>مبلغ</td>
          <td><input type="checkbox" name="rep_col" value="currency_" checked=""></td>
          <td>واحد</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="point_rate" checked=""></td>
          <td>ضريب لويالتی</td>
          <td><input type="checkbox" name="rep_col" value="point_lo" checked=""></td>
          <td>امتياز</td>
          <td><input type="checkbox" name="rep_col" value="doc_type" checked=""></td>
          <td>نوع پرداخت</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="cheque_num"></td>
          <td>شماره چک</td>
          <td><input type="checkbox" name="rep_col" value="cheque_date"></td>
          <td>تاريخ چک</td>
          <td><input type="checkbox" name="rep_col" value="account_number"></td>
          <td>شماره حساب</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="bank_type"></td>
          <td>نام بانک</td>
          <td><input type="checkbox" name="rep_col" value="branch_code"></td>
          <td>شعبه</td>
          <td><input type="checkbox" name="rep_col" value="approval_code"></td>
          <td>کد خريد اعتباری</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="rebate_cons_per" checked=""></td>
          <td>درصد کارمزد </td>
          <td><input type="checkbox" name="rep_col" value="special_discount"></td>
          <td>درصد تخفيف</td>
          <td><input type="checkbox" name="rep_col" value="pos_setup_rebate"></td>
          <td>درصد کارمزد بانی POS</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="bin_setup_rebate"></td>
          <td width="33%">درصد کارمزد پشتيبان</td>
          <td><input type="checkbox" name="rep_col" value="merch_setup_rebate"></td>
          <td width="33%">درصد کارمزد بازارياب</td>
          <td><input type="checkbox" name="rep_col" value="merch_setup"></td>
          <td width="33%">بازارياب</td>
        </tr>
        <tr height="25">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="mer_id">
          </td>
          <td>کد فروشگاه</td>
    
          <td><input type="checkbox" name="rep_col" value="bin_code">
          </td>
          <td>کد پشتيبان</td>
          <td><input type="checkbox" name="rep_col" value="bin_name"></td>
          <td>نام پشتيبان</td>
    
        </tr>
      </tbody>
    </table>

  • mplungjan
    4. Mai 2019

    Verwenden textContent für DOM-Knoten, $("td",this).eq(2).text() für ein jQuery-Zelle

    Hier ist, wie dies mit jQuery. Es wird nicht empfohlen, mix-DOM und jQuery die Art und Weise haben Sie für die offensichtliche Grund, Sie werden verwirrt, und die Verwendung der falschen access-Methode

    $(function() {
      var items = []
      $('table > tbody > tr').each(function() {
        var thirdCell = $("td", this).eq(2).text()
        items.push({
          "whatever": thirdCell,
          'label': '',
          'flag': '',
          'value': ''
        })
      })
    
      console.log(items)
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <table class="tmain" dir="rtl" width="90%" border="0" align="center" id="Table8">
      <tbody>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="mer_name" checked=""></td>
          <td>نام فروشگاه</td>
          <td><input type="checkbox" name="rep_col" value="terminal_id"></td>
          <td>کد ترمينال</td>
          <td><input type="checkbox" name="rep_col" value="terminal_name"></td>
          <td>نام ترمينال</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="log_date" checked=""></td>
          <td>تاريخ ارسال</td>
          <td><input type="checkbox" name="rep_col" value="log_time" checked=""></td>
          <td>زمان ارسال</td>
          <td><input type="checkbox" name="rep_col" value="getpoint_date" checked=""></td>
          <td>تاريخ خريد</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="getpoint_time" checked=""></td>
          <td>زمان خريد</td>
          <td><input type="checkbox" name="rep_col" value="card_id" checked=""></td>
          <td>شماره کارت</td>
          <td><input type="checkbox" name="rep_col" value="name_pr"></td>
          <td>نام دارنده کارت</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="device_type"></td>
          <td>نوع پنل</td>
          <td><input type="checkbox" name="rep_col" value="amount" checked=""></td>
          <td>مبلغ</td>
          <td><input type="checkbox" name="rep_col" value="currency_" checked=""></td>
          <td>واحد</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="point_rate" checked=""></td>
          <td>ضريب لويالتی</td>
          <td><input type="checkbox" name="rep_col" value="point_lo" checked=""></td>
          <td>امتياز</td>
          <td><input type="checkbox" name="rep_col" value="doc_type" checked=""></td>
          <td>نوع پرداخت</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="cheque_num"></td>
          <td>شماره چک</td>
          <td><input type="checkbox" name="rep_col" value="cheque_date"></td>
          <td>تاريخ چک</td>
          <td><input type="checkbox" name="rep_col" value="account_number"></td>
          <td>شماره حساب</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="bank_type"></td>
          <td>نام بانک</td>
          <td><input type="checkbox" name="rep_col" value="branch_code"></td>
          <td>شعبه</td>
          <td><input type="checkbox" name="rep_col" value="approval_code"></td>
          <td>کد خريد اعتباری</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="rebate_cons_per" checked=""></td>
          <td>درصد کارمزد </td>
          <td><input type="checkbox" name="rep_col" value="special_discount"></td>
          <td>درصد تخفيف</td>
          <td><input type="checkbox" name="rep_col" value="pos_setup_rebate"></td>
          <td>درصد کارمزد بانی POS</td>
        </tr>
        <tr height="30">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="bin_setup_rebate"></td>
          <td width="33%">درصد کارمزد پشتيبان</td>
          <td><input type="checkbox" name="rep_col" value="merch_setup_rebate"></td>
          <td width="33%">درصد کارمزد بازارياب</td>
          <td><input type="checkbox" name="rep_col" value="merch_setup"></td>
          <td width="33%">بازارياب</td>
        </tr>
        <tr height="25">
          <td width="3%">&nbsp;</td>
          <td><input type="checkbox" name="rep_col" value="mer_id">
          </td>
          <td>کد فروشگاه</td>
    
          <td><input type="checkbox" name="rep_col" value="bin_code">
          </td>
          <td>کد پشتيبان</td>
          <td><input type="checkbox" name="rep_col" value="bin_name"></td>
          <td>نام پشتيبان</td>
    
        </tr>
      </tbody>
    </table>

  • Shridhar Sharma
    4. Mai 2019

    $tds[2] ist ein DOM-Knoten, nicht ein jQuery-Objekt, so tun Sie es wie folgt

    $(document).ready(function() {
      $trs = $('table > tbody > tr')
      // console.log('trs',$trs)
    
      var items = []
      for (var $i = 0; $i < $trs.length; ++$i) {
        $tds = $trs[$i].cells
    
        console.log('td', $($tds[2]).text())
    
        var item = {}
        item['label'] = ''
        item['flag'] = ''
        item['value'] = ''
    
      }
    
    });