[英]How to detect the existence of an element in javascript?
var newHead = '<div id="head'+text+'"></div>';
var header = "head"+text;
if (document.getElementById(header) == undefined) {
//alert(document.getElementById("head"+text));
$("#result-job").append(newHead);
var result = '<div id="div' + dataSplit[0] + '"><input type="radio" checked="checked" class="choosenJob" name="rdb_job" value="' + dataSplit[0] + '" id="' + dataSplit[0] + '" /><label for="' + dataSplit[0] + '">' + dataSplit[1] + '</label><br /></div>';
$("div#" + header).append(result);
} else {
var result = '<div id="div' + dataSplit[0] + '"><input type="radio" checked="checked" class="choosenJob" name="rdb_job" value="' + dataSplit[0] + '" id="' + dataSplit[0] + '" /><label for="' + dataSplit[0] + '">' + dataSplit[1] + '</label><br /></div>';
$("div#" + header).append(result);
}
那些腳本可以正常運行嗎? 我想在結果div中添加一些新的element(div),但是我的腳本沒有用
小提琴模擬: http : //jsfiddle.net/86kH4/5/
更換
if (document.getElementById(header) == undefined) {
與
if ($("#" + header).length == 0) {
您必須在ID周圍加上一些引號,這樣才能正常工作。 另外,刪除== undefined
,只讓Javascript檢查它:
if (document.getElementById("header")) {
/* treatment */
} else {
/* treatment */
}
http://jsfiddle.net/Q98mv/-請將您的代碼段與此代碼段進行比較,然后您會發現問題出在哪里
$('#chk1').click(function(){
var ada = "asd"; //ada here will be my dynamic parameters
var neww= '<div id="baru'+ada+'"></div>';
if($('#baru'+ada).length==0){
$("#asd").append(neww);
}else{
$("#baru"+ada).append("Hellow<br>");
}
});
在這里,您應該使用jquery函數“ live”,例如:
$("div#" + header).live().append(result);
當添加元素到創建的元素后添加時使用此函數~~希望它有用~~~
正如我在評論中提到的那樣,您的小提琴有語法錯誤,這就是為什么它“不起作用”的原因。 糾正錯誤后,您將獲得預期的行為: http : //jsfiddle.net/fkling/86kH4/28/ 。
是的 ,您可以使用
document.getElementById(header) == undefined
測試ID包含在header
的元素是否存在。
如果不存在這樣的元素,則getElementById
將返回null
並且null == undefined
為true
。 考慮到這一點,如果將null
與null
進行比較,那將更加正確:
document.getElementById(header) === null
就是說,由於您使用的是jQuery,因此我會盡量保持一致,不要將其與純DOM方法混合使用。 每個jQuery對象都有一個length
屬性,其中包含選定元素的數量。 因此,jQuery等效項為:
$('#' + header).length === 0
替換為if (document.getElementById(header) == undefined) {
替換為if ($('#header') == undefined) {
可能會正常工作。 順便說一句,您錯過了代碼中標頭的引號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.