<div>
클릭시 요소에 a 를 추가하는 함수가 있습니다. 이 함수는 클릭 한 요소의 텍스트를 가져 와서라는 변수에 할당합니다 name
. 그런 다음 해당 변수는 <div>
id
추가 된 요소 로 사용됩니다 .
경우 내가 볼 필요 <div>
id
와 name
내가 요소를 추가하기 전에 이미 존재하지만이를 찾는 방법을 모르겠어요.
내 코드는 다음과 같습니다.
$("li.friend").live('click', function() {
name = $(this).text();
// if-statement checking for existence of <div> should go here
// If <div> does not exist, then append element
$("div#chatbar").append("<div class='labels'><div id='" + name + "' style='display:none;'></div>" + name + "</div>");
// Else
alert('this record already exists');
});
이것은 매우 간단 해 보이지만 ” 클래스 이름을 검색하는 동안 예기치 않은 파일 끝 “오류가 발생 합니다. 나는 그것이 무엇을 의미하는지 전혀 모른다.
if (document.getElementById(name)) {
$("div#" + name).css({bottom: '30px'});
} else {
$("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>");
}
또한이 요소를 닫으면 div id [name]
문서에서 를 제거해야 하지만 .remove()
이를 수행하지 않으면 이 요소를 삭제할 수 있기를 원합니다 .
그 코드는 다음과 같습니다.
$(".mini-close").live('click', function(){
$(this).parent().remove();
});
나는 추가 .mini-close
의 자식으로의 append 기능에 .labels
첨부 된 밖으로 닫을 수있는 방법이 있었다 있도록 <div>
필요한 경우. 클릭 한 후 .mini-close
로부터 다시 같은 이름을 클릭하는 시도 li.friends
는 아직 발견 div id [name]
내의 첫 번째 부분 반환 if
문을.
답변
.length
선택기 뒤에서 다음과 같이 요소와 일치하는지 확인할 수 있습니다 .
if($("#" + name).length == 0) {
//it doesn't exist
}
정식 버전 :
$("li.friend").live('click', function(){
name = $(this).text();
if($("#" + name).length == 0) {
$("div#chatbar").append("<div class='labels'><div id='" + name + "' style='display:none;'></div>" + name + "</div>");
} else {
alert('this record already exists');
}
});
또는이 부분의 비 jQuery 버전 (ID이므로) :
$("li.friend").live('click', function(){
name = $(this).text();
if(document.getElementById(name) == null) {
$("div#chatbar").append("<div class='labels'><div id='" + name + "' style='display:none;'></div>" + name + "</div>");
} else {
alert('this record already exists');
}
});
답변
닉의 대답은 그것을 못 박았다. getElementById의 반환 값을 null로 비교하지 않고 조건으로 직접 사용할 수도 있습니다 (어느 쪽이든 작동하지만 개인적 으로이 스타일을 좀 더 읽기 쉽습니다).
if (document.getElementById(name)) {
alert('this record already exists');
} else {
// do stuff
}
답변
선택기의 길이를 확인하십시오. 무언가를 반환하면 요소가 존재하지 않아야합니다.
if( $('#selector').length ) // use this if you are using id to check
{
// it exists
}
if( $('.selector').length ) // use this if you are using class to check
{
// it exists
}
id의 첫 번째 if 조건과 클래스의 두 번째 if 조건을 사용하십시오.
답변
if($("#id").length) /*exists*/
if(!$("#id").length) /*doesn't exist*/
답변
if ( $( "#myDiv" ).length ) {
//id id ( "#myDiv" ) is exist this will perform
$( "#myDiv" ).show();
}
또 다른 속기 :
$( "#myDiv" ).length && $( "#myDiv" ).show();
답변
다음과 같이 jquery를 사용하여 확인할 수 있습니다.
if($('#divId').length!==0){
Your Code Here
}
답변
가장 간단한 방법은 ..
if(window["myId"]){
// ..
}
이것은 또한 HTML5 사양의 일부입니다. https://www.w3.org/TR/html5/single-page.html#accessing-other-browsing-contexts#named-access-on-the-window-object
window[name]
Returns the indicated element or collection of elements.