很難想出這個問題的標題。更改的ID沒有被jQuery找到
更多的概念證明,我想知道爲什麼這不起作用。我試圖做的是使用jquery事件來更改ID屬性,然後使用綁定到這個新更改的ID的另一個jquery事件。
例如:
<?php
echo <<<END
<html>
<head>
<style>
#before {
color:maroon;
}
#after {
color:blue;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>Test</title>
<script type="text/javascript">
$(document).ready(function(){
$("#before").hover(function() {
$(this).attr("id","after");
});
$("#after").click(function() {
alert("Handler for .click() called.");
});
});
</script>
</head>
<body>
<p id="before">TEST TEXT</p>
</body>
</html>
END;
?>
懸停在我的測試文本,從栗色的顏色變爲藍色,符合市場預期。這是我的理解,文本現在將具有「後」的ID和點擊事件處理函數單擊時應用。但是,情況並非如此,快速事件處理程序及其關聯的警報似乎不會觸發。
我是新來的jquery有沒有更新處理函數我忽略?
你不能這樣做後觸發click事件,既然選擇,只能判斷在你的情況準備好了...你需要使用事件代表團...我也會推薦c掛一個類的屬性,而不是更改ID – 2014-10-10 03:14:56
你是否暗示這會在document.ready之外工作?或者你是否有效地說,在其ID改變後不可能與元素進行交互?有沒有辦法強制更新DOM? – lowcrawler 2014-10-10 03:17:30
將其標記爲重複的,因爲同樣的概念也適用於此處...因爲選擇器在運行時期間發生更改 - http://jsfiddle.net/arunpjohny/6k2aemzu/1/ – 2014-10-10 03:18:09