2012-02-02 6 views
-1

最初に別の配列要素を検索して特定の条件に一致する項目のみを返すときに、複数の配列から項目をパブリッシュする方法を試しています。次のコードはまだこれを行いません。2d配列を使ったjavascriptのループ

enter code here<div id="myDiv"> 
<script type="text/javascript"> 


var $ = function(id) { 
    return document.getElementBuId(id); 

} 
var title = new Array("Barbecuing in the Rain","Picnicing in the Arctic", 
     "How to Saute on a Radiator", "A Real Grasshopper: Bartending with Insects", 
     "Food with a Bullet: Cooking in Camden", "Mirepoix for Dummies"); 
var price = new Array(18.50, 23.95, 41.95, 5.95, 13.00, 99.00); 
var binding = new Array("Hardcover", "Paperback", "Hardcover", "Paperback", "Paperback", "Hardcover"); 
var pubYear = new Array(2002, 1975, 2004, 2006, 2001, 1997); 
var NYTBestSeller = new Array(true, true, false, false, true, true) 
    var seriesTitle = new Array("Food Network", "The Food Network", 
      "Culinary Shortcuts", "Sunset Libations", 
      "Food Network", "The Food Network"); 
var bargainBooks = ("Food Network Hot Selling Bargain Book"); 

for (i in title) { 
    if (((price[i] <= 25 && binding[i] == "Hardcover") || 
       (price[i] <= 15 && binding[i] == "Softcover")) && (pubYear[i] >= 2000) && 
      (NYTBestSeller[i] == true) && (seriesTitle[i] == "Food Network") || (seriesTitle[i] == "The Food Network")) 


     //document.write("<span color='red'>This line is red</span>"); 



     document.write(title[i] + "<br />"); 
    document.write(price[i] + "<br />"); 
    document.write(binding[i] + "<br />"); 
    document.write(pubYear[i] + "<br />"); 
    document.write(NYTBestSeller[i] + "<br />"); 
    document.write(seriesTitle[i] + "<br />" + "<hr/>"); 

} 
</script> 

私は一定の基準を満たした後、その本は、ページ上の緑の中にホット販売ブックのメッセージで出力しようとして図書を探しています。しかし、私はどのようにdocument.write作業を行うかを理解することはできません。 document.write()。style.color = "green"は機能しません。

答えて

3

document.write出力テキストのみ、そこに独自のタグを書く必要があります(たとえば、緑色のスタイルのdiv)。

は、しかし、私はあなたに何のidを持つ空のdivについての異なるアプローチを、示唆して、次の操作を行います。
document.getElementById('your-div-id').innerHTML = 'text <br /> <span style="color: green;">other text</span> and so on'; 

も良い方法でコードを再編成ます。

Document.writeは出力ストリームの最後(この場合はドキュメント)にのみコードを追加するため、出力先の指定はできません。

編集1: また、この場合のオブジェクトの使用はどうですか?私の知る限り見ることができるように、あなたはそれらの動作をエミュレートするために配列を使用しています

var myObjArray = [ 
    { 
     title: 'mytitle1', 
     price: '10$', 
     binding: 'dunno', 
     pubYear: 'dunno-again', 
     NYTBestSeller: true, 
     seriesTitle: 'Something' 
    }, 
    { 
     ...other object data... 
    } 
] 

document.getElementById('your-div-id').innerHTML += myObjArray[0].title + '<br />' + myObjArray[0].price; 

あなたは[]新しい配列を作成する方法についても興味深い

+0

何を見つけて、それが出力され、別のループにすることができます願っていますデータストリーム内で? –

+0

できますが、別の配列に格納しないで結果を出力したいと思っていました –

関連する問題