41

要素<p>内 からテキスト値を取得したい 。<li>

html :

<ul>
  <li onclick="myfunction()">
    <span></span>
    <p>This Text</p>
  </li>
</ul>

JavaScript :

function myfunction() {
  var TextInsideLi = [the result of this has to be the text inside the paragraph"];
}

これを行う方法?

4

9 に答える 9

53

または、次のように、li 要素自体を myfunction 関数に渡すこともできます。

function myfunction(ctrl) {
  var TextInsideLi = ctrl.getElementsByTagName('p')[0].innerHTML;
}

そしてあなたのHTMLで、<li onclick="myfunction(this)">

于 2012-07-24T15:27:47.897 に答える
15

jQueryを使用していますか?良いオプションは

text = $('p').text();
于 2012-07-24T15:17:18.870 に答える
7

これを試して:

<li onclick="myfunction(this)">

function myfunction(li) {
    var TextInsideLi = li.getElementsByTagName('p')[0].innerHTML;
}

ライブデモ

于 2012-07-24T15:18:30.200 に答える
6

html を次のように変更します。

<ul>
    <li onclick="myfunction()">
        <span></span>
        <p id="myParagraph">This Text</p>
    </li>
</ul>

次に、次の関数を使用して段落のコンテンツを取得できます。

function getContent() {
    return document.getElementById("myParagraph").innerHTML;
}
于 2012-07-24T15:21:25.460 に答える
1

jQueryを使用する:

$("li").find("p").html()

動作するはずです。

于 2012-07-24T15:17:23.640 に答える
1

HTML :

<ul>
  <li onclick="myfunction(this)">
    <span></span>
    <p>This Text</p>
  </li>
</ul>​

JavaScript :

function myfunction(foo) {
    var elem = foo.getElementsByTagName('p');
    var TextInsideLi = elem[0].innerHTML;
}​
于 2012-07-24T15:24:51.827 に答える