2016-06-15 3 views
3

下のhtmlの「Apple」という単語を下のスクリプトでターゲティングする必要がありますが、親コンテナ内のすべての文字列を対象とします。ラップされていないテキストをどのように対象にしますか? 1つの解決方法は、最初にテキストを自分の子供にラップすることですが、それをどのようにターゲットにするかは不明です。子要素の文字列を対象としない要素のターゲットテキスト

ccs_cc_args.push(['FFR_NAME', $(".infobar").text()]); 

HTML:テキストを意味

<div class="infobar"> 
<center><img src="" alt="image"></center> 
<span>Manufacturer</span>Apple<span>Part Number</span> 
<div class="productboxArticlenumber">MC723-US-4-500-REF</div> 
</div> 

答えて

1

var ccs_cc_args = []; 
 

 
var a = $('.infobar').contents().filter(function() { 
 
    return this.nodeType == 3; 
 
}).text(); 
 

 
console.log(a) 
 

 
ccs_cc_args.push(['FFR_NAME', a.trim()]); 
 

 
console.log(ccs_cc_args)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="infobar"> 
 
    <center> 
 
    <img src="" alt="Apple"> 
 
    </center> 
 
    <span>Manufacturer</span>thisistheAppletext<span>Part Number</span> 
 
    <div class="productboxArticlenumber">MC723-US-4-500-REF</div> 
 
</div>

  1. 使用ノードタイプ== 3。
  2. 使用.contents

説明:テキストとコメントノードを含むマッチした要素の集合の各要素の子を取得します。

+0

これは機能します。これは次のように書かれています: 'csc_cc_args.push( '' 'FFR_NAME'、$( 'infobar'))contents(){return this.nodeType == 3; } ); '' FFR_NAME "、" \ nApple \ n \ n "]]' \ n \ nは何ですか? –

+0

なぜ変数を使用しないのですか? – guradio

+0

um - 私は.pushパートでそれを書く方法がわかりませんでした。:pとcouldntはそれを働かせます - それは彼らが上でそれを書いた方法です。 –

0

おそらくこのようなものですか?

$(document).ready(function() { 
 
    var ccs_cc_args = []; 
 
    
 
    ccs_cc_args.push(['FFR_NAME', $(".infobar .infobarName").html()]); 
 
    
 
    console.log(ccs_cc_args); 
 
});
.infobarName { 
 
    font-weight: bold; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="infobar"> 
 
    <center><img src="" alt="image"/></center> 
 
    <span>Manufacturer</span> <span class="infobarName">Apple</span> <span>Part Number</span> 
 
    <div class="productboxArticlenumber">MC723-US-4-500-REF</div> 
 
</div>

+0

hmm。ログは[["FFR_NAME"、undefined]]として表示されます。正しくフェッチしないようです。 –

+0

奇妙な、それは私の側でそれをちょうど良いものをフェッチするようだ。さもなければ私はポストにそれを挿入しませんでした:/ – Jorrex

0

あなたはスパンであなたのターゲット単語を入れて、この

window.onload = function() { 
 

 
    'use strict'; 
 
    var chachedWord = []; 
 

 
    // Select second span that exist in infobar (0 base index) 
 
    var targetWord = document.querySelectorAll('.infobar span')[1]; 
 

 
    chachedWord.push('FFR_NAME' + ' ' + targetWord.textContent); 
 

 
    document.getElementsByTagName('p')[0].textContent = chachedWord; 
 

 

 
};
<div class="infobar"> 
 
    <center><img src="" alt="image"></center> 
 
    <span>Manufacturer</span> <span>Apple</span> <span> Part Number</span> 
 
    <div class="productboxArticlenumber">MC723-US-4-500-REF</div> 
 
</div> 
 
<p></p>


を行うことができますjQueryの

var chachedWord = []; 
 

 
chachedWord.push('FFR_NAME' + ' ' + $('.infobar span').eq(1).text()); 
 

 
$('p').text(chachedWord);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="infobar"> 
 
    <center><img src="" alt="image"></center> 
 
    <span>Manufacturer</span> <span>Apple</span> <span> Part Number</span> 
 
    <div class="productboxArticlenumber">MC723-US-4-500-REF</div> 
 
</div> 
 
<p></p>

関連する問題