2016-06-24 4 views
0

私は自分の選択したフィールド内に完全なアドレスブロックを配置するスクリプトを用意していますが、結果として得られるテキストブロックの不要な部分を取り除こうとしています表示のために。JSプルの結果からテキスト行を削除する

コード:

<script> 
Sys.Application.add_load(
    function SetShipInfoValue() 
    { 
     var obj = document.getElementById("StepArea_UpdatePanelAddressBlock"); 

     if(obj == null) 
     { 
      var y = document.getElementsByClassName('ShippingAddressBlock'); 
      obj = y[0]; 
     } 


     if(obj != null) 
     { 
      var txt = obj.innerHTML; 
      var obj2 = document.getElementById("FIELD_1841"); 
      if(obj2 != null) 
      { 
       obj2.value = txt; 
      } 
     } 

    }); 
</script> 

結果:

<div class="ShippingAddressBlock"> 
<div>Store 169</div> 
<div>General Manager</div> 
<div>1740 East Rd</div> 
<div></div> 
<div>Santa Clara, CA 92705</div> 
<div></div> 
<div></div> 
<div>169</div> 
</div> 

どのように私はちょうどJS内だけで店舗数を表示するには、結果からテキスト行を排除するであろうか?

+0

のようなフィルタのjQueryを使用することができますか? –

+0

いずれか。ストア169または169最後に –

答えて

0

あなたは.childrenからの最後の子を取得することによってこれを行うことができます。

var ele = document.getElementsByClassName("ShippingAddressBlock")[0]; 
 
console.log(ele.children[ele.children.length-1].innerHTML); // 169
<div class="ShippingAddressBlock"> 
 
<div>Store 169</div> 
 
<div>General Manager</div> 
 
<div>1740 East Rd</div> 
 
<div></div> 
 
<div>Santa Clara, CA 92705</div> 
 
<div></div> 
 
<div></div> 
 
<div>169</div> 
 
</div>

また、使用することができます。

古いブラウザでサポートされます
console.log(ele.lastChild.previousSibling.innerHTML); 

を。

+0

これは正しいようですが、私はどのように私の出力フィールドに注入するつもりですか? (Field_1841) –

+0

@HeathDoolinあなたの質問と同じように、あなたの入力要素の '.value'にそれを割り当てます:' document.getElementById( "FIELD_1841")。value = ele.lastChild.previousSibling.innerHTML' 。 –

+0

"結果として表示されるテキストブロックの不要な部分を削除しようとしています" - これは何も削除していないhttps://jsfiddle.net/em0z4p84/4/ –

0

あなたはちょうど169を表示するこのhttps://jsfiddle.net/DIRTY_SMITH/em0z4p84/2/

<div class="ShippingAddressBlock"> 
    <div>Store 169</div> 
    <div>General Manager</div> 
    <div>1740 East Rd</div> 
    <div></div> 
    <div>Santa Clara, CA 92705</div> 
    <div></div> 
    <div></div> 
    <div>169</div> 
</div> 

<script> 
    $(".ShippingAddressBlock > div").filter(function(index) { 
    if (index === 0) { 
     $(this).attr('id', 'show'); 
    } 
    }); 

</script> 

CSS

.ShippingAddressBlock > div { 
    display: none; 
} 

.ShippingAddressBlock > #show { 
    display: inline; 
} 
+0

メモjQueryはこの質問のタグにありません。質問者がそれを言及したり、タグを含めない限り、私はそれを避けることをお勧めします。 –

+0

@SpencerWieczorek Jqueryはjavascriptです。いいえ? –

+0

はい、そうです。しかしそれはまだ別のライブラリです。ユーザーがAngular.jsを使用していない、または言及していない場合、Angular.jsを質問に対する回答に使用しますか? –

関連する問題