0

このコードを見つけて編集し、jquery を使用してオンライン カレンダーの xml フィードの要素を Web ページに表示しました。ノードが入力されたときにノードからの情報を表示し、ノードが空のときにそれを無視できるように、条件を含める方法はありますか? たとえば、画像パス、画像テキスト、および必要な html を含めてフォーマットしますが、画像パスと画像テキスト情報がない場合はすべて無視しますか?

<script>
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://orion.lib.mi.us/evanced/lib/eventsxml.asp?dm=exml&lib=0&nd=90",
        dataType: "xml",
        success: xmlParser,
        error: function(){alert("We're sorry. Something didn't load correctly.");}
    });
});

function xmlParser(xml) {
    $(xml).find("item").each(function () {
        var xml_image       = $(this).find('imagepath').text();
        var xml_imagetext   = $(this).find('imagetext').text();
        var xml_title       = $(this).find('title').text();
        var xml_date        = $(this).find('date').text();
        var xml_time        = $(this).find('time').text();
        var xml_location    = $(this).find('location').text();
        var xml_link        = $(this).find('link').text();
        var xml_description = $(this).find('description').text();
        $(".main").append('<div class="event"><div class="logo"><img alt="' + xml_imagetext + '" src="' + xml_image + '" /></div><p class="title"><a href="' + xml_link + '">' + xml_title + '</a></p><p class="when">' + xml_date + ' at ' + xml_time + '</p><p class="location">Location: ' + xml_location + '</p><p class="description">' + xml_description + '</p><p class="link"><a href="' + xml_link + '">More Information</a></p></div>');
    });}
</script>
4

1 に答える 1

1

mainにコンテンツを追加する前に、条件を追加するだけでよい場合があります。

if (xml_image != "" && xml_imagetext != "") {
    $(".main").append...
}

または、別のものを表示したい場合は、次の行に沿って何かを実行します。

var hasImage = xml_image != "" && xml_imagetext != "";
var html = "<div class='event'>" +
    ((hasImage) ? "<img src='" + xml_image + "' alt='" + xml_imagetext + "' />" : "")
    + "</div>";
于 2012-05-22T18:02:49.867 に答える