1

この構造のようにmysqlからデータを取得しています=>

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私の問題は、私が試したこと、3番目のテキストを知りたいということです=>

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

何も機能しません。空のアラート ボックスが表示されます。何が問題なのかわかりません。どうすれば修正できますか?ありがとう

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>

等々 ...

4

1 に答える 1

2

セレクターは何も選択しません#。ID で要素を選択するために追加する必要があります。

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

また:

var txt = $(this).closest("table").find("p:eq(2)").text()
于 2012-08-24T09:13:04.337 に答える