Maison  >  Questions et réponses  >  le corps du texte

javascript - js Comment obtenir uniquement la valeur de l'élément parent au lieu de la valeur de l'élément enfant en même temps?

<p class="mui-media-body js-media-body js-anviz-body">Trouble Ticket
    <p class="anviz-ellipsis js-des">You can sumbit your trouble and …</p>
</p>

Comment écrire juste pour obtenir un Trouble Ticket ? Merci

黄舟黄舟2695 Il y a quelques jours775

répondre à tous(10)je répondrai

  • 某草草

    某草草2017-06-26 10:52:49

    Il est préférable d'ajouter une étiquette pour l'emballer pour un accès facile

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-26 10:52:49

    var val = jQuery(this).find('.js-anviz-body')[0].firstChild.data;

    D'accord!

    répondre
    0
  • 習慣沉默

    習慣沉默2017-06-26 10:52:49

    Clonez d'abord l'élément, puis supprimez les éléments enfants et enfin obtenez le texte sans éléments enfants

    jQuery('.js-anviz-body').clone().children().remove().end().text()

    répondre
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-26 10:52:49

    document.querySelector('.mui-media-body').firstChild.nodeValue

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-26 10:52:49

    J'ai déjà répondu à une question similaire. Lors de la traversée de nodeChild, ce texte est une instance de Text() Vous pouvez vous référer à la question à laquelle j'ai répondu auparavant : /q/10...

    .

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-26 10:52:49

    Il est plus raisonnable d'ajouter une travée pour le couvrir

    répondre
    0
  • 大家讲道理

    大家讲道理2017-06-26 10:52:49

    <html>
        <head>
            <title></title>
            <style type="text/css">
                .parent{
                    width:100px;
                    height:100px;
                }
                .child{
                    width:100px;
                    height:50px;
                }
            </style>
        </head>
        <body>
            <p class="parent">
                hello world,
                <p class="child">welcome!</p>
            </p>
            <script>
                var text = document.querySelector('.parent').firstChild.nodeValue;
                console.log(text);
            </script>
        </body>
    </html>
    

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-26 10:52:49

    Pour comprendre la question, vous souhaitez probablement obtenir tout le texte qui appartient à l'élément parent mais n'appartient pas à l'élément enfant

    • En supposant que vous connaissez la position du texte, c'est plus simple, si le texte est au début :

    //pp = """<p class="mui-media-body js-media-body js-anviz-body">Trouble Ticket
        <p class="anviz-ellipsis js-des">You can sumbit your trouble and …</p>
    </p>"""
    var childNodes = pp.childNodes;
    var text = childNodes[0]; // Trouble Ticket
    • Si la position du texte est incertaine, voire s'il y en a plusieurs, alors il faut parcourir les éléments enfants de l'élément parent et trouver tous les éléments dont les attributs de nœud sont du texte :

    //pp = """<p class="mui-media-body js-media-body js-anviz-body">
        Trouble Ticket
        <p class="anviz-ellipsis js-des">You can sumbit your trouble and …</p>
        Trouble Ticket2
    </p>"""
    var childNodes = pp.childNodes;
    var textNodes = [];
    childNodes.forEach(function(node){
        if (node.nodeType === 3) {
            textNodes.push(node);
        } // 3 为 文本
    });
    //textNodes === ['Trouble Ticket', 'Trouble Ticket2']

    répondre
    0
  • ringa_lee

    ringa_lee2017-06-26 10:52:49

    La méthode de clonage ci-dessus est meilleure. Que se passe-t-il s'il y a du texte derrière la balise p ?
    L'utilisation de firstChild n'obtient que le premier nœud de texte, et il doit être parcouru pour obtenir les nœuds de texte suivants.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-06-26 10:52:49

    var content = $('.anviz-ellipsis').parent().html().replace(/<[\s\S]*>/g, '');
        console.log(content);
    打印结果:
    // Trouble Ticket

    Code HTML :

        <p class="mui-media-body js-media-body js-anviz-body">Trouble Ticket 
            <p class="anviz-ellipsis js-des">
                You can sumbit your trouble and …
                <!-- 混淆代码1 start-->
                <p>sdkfjfjfdlkfjsld</p>
                    <a href="">3w33333</a>
                <!-- 混淆代码1 end-->
            </p>
                 <!-- 混淆代码2 start-->
                <img src="" alt="">
                <a href="">sdfsjflsjdflskdjf</a>
                <p>
                </p>
                 <!-- 混淆代码2 end-->
        </p>

    code js :

    
        <script>
            var content = $('.anviz-ellipsis').parent().html().replace(/<[\s\S]*>/g, '');
            console.log(content);
        </script>

    répondre
    0
  • Annulerrépondre