javascript
  • jquery
  • select
  • text
  • 2012-08-24 31 views 1 likes 
    1

    我從MySQL檢索數據這樣的結構=>器選擇p文本的jQuery

    echo "<table id='postI" . $chat_row['id'] . "'>"; 
    echo "<tr>"; 
         echo "<td><p class='post_author'>" . $chat_row['user_name'] . "</p><a href='javascript: void(0)' class='edit_post_a'><div class='edit_post'></div></a></td>"; 
    echo "</tr>"; 
    echo "<tr>"; 
         echo "<td><p class='posted_on'>" . $chat_row['posted_on'] . "</p></td>"; 
    echo "</tr>"; 
    echo "<tr>"; 
         echo "<td><br></td>"; 
    echo "</tr>"; 
         echo "<tr>"; 
    echo "<td><p class='posted_msg'>" . $chat_row['message'] . "</p></td>"; 
         echo "</tr>"; 
    echo "</table>"; 
    

    ,我可以得到表id這個表達式=>

    $(".edit_post_a").bind("click",function(){ 
        var tb_id = $(this).closest("table").attr("id"); // works , gets the id of the table 
        alert($(tb_id + ".posted_msg").text()); // don't work, gets nothing , just alert box 
        }); 
    

    我的問題是想知道第三個p的文字,我試過的=>

    alert($("#" +tb_id + ".posted_msg").text()); 
    alert($("#" +tb_id).find("p").last().text()); 
    alert($("#" +tb_id + " p:nth-child(3)").text()); 
    

    沒什麼用,ge t空警示框,我不知道什麼是錯的?我該如何解決它?感謝

    HTML代碼=>

    <table id='postI245'> 
    <tr> 
        <td><p class='post_author'>USER</p><a href='javascript: void(0)' class='edit_post_a'><div class='edit_post'></div></a> 
        </td> 
    </tr> 
    <tr> 
        <td><p class='posted_on'>DATE</p></td> 
    </tr> 
    <tr> 
        <td><br></td> 
    </tr> 
    <tr> 
        <td><p class='posted_msg'>MSG</p></td> 
    </tr> 
    </table> 
    

    等等...

    +0

    請發表您呈現的標記,而不是服務器端代碼。 – undefined

    +0

    @undefined好的,只需一秒 – tnanoba

    +0

    @undefined更新 – tnanoba

    回答

    2

    你的選擇器選擇什麼,你應該通過ID選擇元素添加#

    var txt = $('#'+tb_id + " .posted_msg").text(); 
    

    或:

    var txt = $(this).closest("table").find("p:eq(2)").text() 
    
    +0

    我也試過這個,但沒有結果,發生同樣的問題 – tnanoba

    +0

    謝謝,第二個工作:) – tnanoba

    +0

    你也試過'alert($(「#」+ tb_id +「.posted_msg」)。html());'?注意「#」的出現以及已被替換爲'html()'的函數'text()' –

    相關問題