почему он отображает объект, а не содержимое?

0

не могли бы вы рассказать мне, почему он показывает объект. Не показывать содержимое в jquery, я просто делаю простое демо.

http://jsfiddle.net/yzaaJ/19/

for(var index = 0; index < words.length; index++)
{
    var currentWord = words[index];
    var currentLength = tenLengthString.length;    
    if(((currentLength + currentWord.length + ((currentLength > 0) ? 1: 0))) > 30)
    {        
      html+=  $('.RLTLeftDiv').append('<div   style=width:100%; clear:both; line-height:200%;><div style=width:60%; float:left;  ><b>'+ hours + ":" + minutes + ":" +  seconds+'</b></div><div style=width:40%; float:left; text-align:right; ><b>'+ count +'&nbsp;&nbsp;&nbsp;&nbsp;</b></div></div>')+$('.RLTRightDiv').append(tenLengthString);

        console.log(tenLengthString);
        count++;
        tenLengthString = currentWord;        
    } else {
        if(currentLength > 0)
            tenLengthString += " ";    
        tenLengthString += currentWord;
    }    
    if(index == words.length - 1){
      console.log(tenLengthString);
       html+='<div>'+tenLengthString+'</div>';

    }        
}
$("#test").html(html)
  • 1
    потому что $(..) возвращает объект jQuery .... не строку
  • 0
    Вы должны прочитать learn.jquery.com/using-jquery-core/manipulation-elements .
Показать ещё 3 комментария
Теги:

2 ответа

0
Лучший ответ

Проблема в том, что вы используете объекты jQuery в конкатенации строк, которые будут давать результат как [object Object]

var $cp = $('<div><div style="width:22%; float: left; font-size:18px; line-height:200%;" class="RLTLeftDiv"><div style="width:100%; clear:both; line-height:200%;"><div style="width:60%; float:left;"><b class="time">hours :minutes:seconds</b></div><div style="width:40%; float:left; text-align:right;"><b><span class="count"></span>&nbsp;&nbsp;&nbsp;&nbsp;</b></div></div></div><div style="width:78%; float:left; font-size:18px; line-height:200%;" class="RLTRightDiv"></div></div>')


var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds = currentTime.getSeconds()


if (hours < 10) {
    hours = "0" + hours;
}

if (minutes < 10) {
    minutes = "0" + minutes;
}

if (seconds < 10) {
    seconds = "0" + seconds;
}


var str = "Ben Nadel reviews the various approaches to Sachin Ramesh Tendulkar is a former Indian cricketer widely acknowledged as the greatest batsman of the modern generation, popularly holds the title  among his fans Sachin Ramesh Tendulkar is a former Indian cricketer widely acknowledged as the greatest batsman of the modern generation, popularly holds the title  among his fansSachin Ramesh Tendulkar is a former Indian cricketer widely acknowledged as the greatest batsman of the modern generation, popularly holds the title  among his fans  substring";
var words = str.split(" ");
var tenLengthString = "";
var html = '';
var count = 1;
for (var index = 0; index < words.length; index++) {
    var currentWord = words[index];
    var currentLength = tenLengthString.length;
    if (((currentLength + currentWord.length + ((currentLength > 0) ? 1 : 0))) > 30) {
        var $clone = $cp.clone();
        $clone.find('.time').html(hours + ":" + minutes + ":" + seconds);
        $clone.find('.count').html(count);
        $clone.find('.RLTRightDiv').html(tenLengthString);
        $("#test").append($clone);
        console.log(tenLengthString);
        count++;
        tenLengthString = currentWord;
    } else {
        if (currentLength > 0) tenLengthString += " ";
        tenLengthString += currentWord;
    }
    if (index == words.length - 1) {
        console.log(tenLengthString);
        $("#test").append('<div>' + tenLengthString + '</div>');

    }
}

Демо: скрипка

  • 0
    что такое клон? что такое клон
  • 0
    он создает копию вызывающего элемента - api.jquery.com/clone
Показать ещё 6 комментариев
1

Эта часть ниже делает это. Что объект jQuery, когда вы cancat для строки, вызывается метод toString() [object Object] который является [object Object].

html+=  $('.RLTLeftDiv').append('<div   style=width:100%; clear:both; line-height:200%;><div style=width:60%; float:left;  ><b>'+ hours + ":" + minutes + ":" +  seconds+'</b></div><div style=width:40%; float:left; text-align:right; ><b>'+ count +'&nbsp;&nbsp;&nbsp;&nbsp;</b></div></div>')+$('.RLTRightDiv').append(tenLengthString);
  • 0
    Можете ли вы сделать скрипку, чтобы я мог видеть данные, как я могу видеть в этой скрипке jsfiddle.net/yzaaJ/17
  • 0
    Я хочу, чтобы данные выглядели так: jsfiddle.net/yzaaJ/17

Ещё вопросы

Сообщество Overcoder
Наверх
Меню