Я обнаружил, что эта проблема всегда возникает и не согласована.
Эта проблема приводит к тому, что сравнение jquery .text не работает, поскольку jQuery пытается сравнить фактическую формулировку, но не удается.
Например: 'SecondНазвание 'отображается в виде 1 строки в браузере, но при просмотре html-источника' Second 'и' Title 'находятся в разных строках.
Таким образом, if($(this).text()=="Second Title")
не работает.
Какой-нибудь хороший способ устранить пробелы в источнике HTML в таком случае?так что я могу продолжать использовать сравнение .text.
Пример, показывающий не работающую версию.
<table border="0" cellpadding="0" cellspacing="1">
<tr>
<td width="400" colspan="3" align="center"><span>First Title</span></td>
</tr>
<tr align="center">
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td width="400" colspan="3" align="center"><span>Second
Title</span></td>
</tr>
<tr align="center">
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
$(document).ready(function() {
replaceText();
});
function replaceText()
{
var first, second
first= "", second="";
$("*").each(function() {
if($(this).children().length==0)
{
if($(this).text()=="First Title")
{
first+= jQuery.trim($(this).closest('tr').next('tr').find("td").eq(0).text());
}
if($(this).text()=="Second Title")
{
second+= jQuery.trim($(this).closest('tr').next('tr').find("td").eq(0).text());
}
}
});
alert(first);
alert(second); //fail
}