我想我有一個範圍問題。這是我的HTML(我知道是 「壞」 的HTML,但它作爲是從其他來源):每個函數內部的Javascript jQuery數組函數
<table>
<tr>
<td>
<div><b>blablabla <span>some text</span></b></div>
</td>
</tr>
<tr>
<td>
<div><b><span>this is another text</span></b></div>
</td>
</tr>
<tr>
<td>
<div><b>blablabla <span>this is</span> <span>one more text</span></b></div>
</td>
</tr>
</table>
,這是我的javascript
$(document).ready(function() {
// delete all span in b
$('b span').contents().unwrap();
// delete "blablabla"
$("b:contains('blablabla')").html(function(i, text) {
return text.replace(/blablabla/g, '');
});
$("b").each(function() {
var bcont = $(this).text();
var stxts = [ "this is another text", "this should not match" ];
$.each(stxts, function(i, val) {
alert($("b").text());
if (bcont == val) {
$(this).closest("tr").css({"background" : "green"});
}
});
});
});
如果b標籤內的文本匹配其中一個stxts數組值,我想更改包含匹配的b標籤的tr標籤的背景顏色。 我在做什麼錯? 在if語句條件中,我嘗試了==比較和===。 在if語句中,我嘗試用$(「b」)替換$(this),但沒有結果。而不是$。每個我都試過for循環沒有運氣。 我敢肯定,我做錯了「功能內的另一個功能」的東西。 謝謝你的時間。
SARPO,你仍然有問題? –
@SPlatten你說得對,我應該學會使用錯誤處理來獲得更好的結果。您對我們正在檢查的代碼有何建議? – Sarpo
@Sarpo,使用前務必檢查函數返回碼,函數參數也一樣,總是假設它們可能無效並檢查。 – SPlatten