1

ULリストからコンテンツを取得し、それを使用して電子メールを送信できるようにする必要があります。しかし、私はjqueryでulリストを取得することに固執しています。私は以下を検索して見つけました:

$(document).ready(function(){
    $("#send").click(function() { //When trigger is clicked...
            var optionTexts = [];
            $("#thelist").each(function() { optionTexts.push($(this).text()) });
            var text = '"' + optionTexts.join('"<br/> "') + '"';

            $("#result").append(text);

        });
    });

しかし、これはページ内のすべてのコンテンツを返します:Sこれが私のulリストです:

<ul id="thelist">
  <li style="height: 65px; display: list-item; ">
    <ul>
      <li class="botHeader">
        "Evelin dice"
                <span>14:37:52</span>
      </li>
      <li class="botMsg">
        "Hola, bienvenido"
      </li>
    <ul>
  </li>
  <li style="height: 26px; display: list-item; ">
    <ul>
      <li class="userHeader">
        "Usted dice"
                <span>14:37:59</span>
      </li>
      <li class="userMsg">
        "Hola como estas"
      </li>
    <ul>
  </li>
  <li style="height: 39px; display: list-item; ">
    <ul>
      <li class="botHeader">
        "Evelin dice"
                <span>14:37:59</span>
      </li>
      <li class="botMsg">
        "Gracias por preguntar, todo bien"
      </li>
    <ul>
  </li>
</ul>

<a href="#" id="send">enviar</a>
<div id="result">

</div>
4

3 に答える 3

4

これは、一時変数なしで、一度にすべてのことを実行する必要があります。

$('#result').append(
    $('#thelist').find('li').filter(function() {
        return $(this).find('ul').length === 0;
    }).map(function(i, e) {
        return $(this).text();
    }).get().join('<br/>')
);

子孫<li>を持たない要素のみを考慮する必要があります。<ul>

http://jsfiddle.net/alnitak/JVS7d/での作業デモ

于 2012-05-25T20:50:49.857 に答える
1

まず、マークアップが無効です。あなたは</ul>あなたの内側のリストの締めくくりを逃しています。li次に、関数のセレクターに追加する必要があります$.each(...)

$(document).ready(function(){
    $("#send").click(function() { //When trigger is clicked...
        var optionTexts = [];
        $("#thelist li").each(function() { optionTexts.push($(this).text()) });
        var text = '"' + optionTexts.join('"<br/> "') + '"';

        $("#result").append(text);
    });
});   
于 2012-05-25T21:04:36.553 に答える
0

私にはあなたがに変更する必要があり$("#thelist").each(function...ます$("#thelist ul li").each(function...

于 2012-05-25T20:50:32.230 に答える