« windows+safariでのswf | ホーム | ページ内にswfがある and urlに#がある場合のタイトル挙動 ie »

2011年8月22日

jQuery $(this).text()のie6、7

【はまり問題】
jQuery、拾ってきた.text()が実際のテキストと異なる


【詳細】
<ul id="selectUl">
<li>テキストA</li>
<li>テキストB</li>
</ul>
<table id="selectTable">
<tr>
<td>hogehoge</td>
<td>テキストA</td>
<td>hogehage</td>
</tr>
<tr>
<td>hogehoge2</td>
<td>テキストA</td>
<td>hogehage2</td>
</tr>
<tr>
<td>hogehoge</td>
<td>テキストB</td>
<td>hogehage</td>
</tr>
<tr>
<td>hogehoge2</td>
<td>テキストA</td>
<td>hogehage2</td>
</tr>
...
</table>

というようなhtml。
目的は、liクリックでtableに同じワードがある行だけ表示。

var clickText = $(this).text();
とliのテキスト内容を入れて
tr.each()で1行ずつtdのテキストを
selectText= $(this).text();
に代入する。

if(clickText == selectText){
で表示。

ie6、7のみ動かず。
すべてfalseになる。


【原因】
text();
に余計な文字が入る。おそらく改行コード。
clickText.length() が6。
selectText.length() が5。
そりゃ一致しない。


【回避方法】
clickText = jQuery.trim($(this).text());

トラックバック(0)

トラックバックURL: https://www.y-is.jp/mtadmin/mt-tb.cgi/37

コメントする

OpenID対応しています OpenIDについて

このブログ記事について

このページは、ヨシタケが2011年8月22日 16:05に書いたブログ記事です。

ひとつ前のブログ記事は「windows+safariでのswf」です。

次のブログ記事は「ページ内にswfがある and urlに#がある場合のタイトル挙動 ie」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2014年9月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30