2011-08-21 2 views
2

다음 코드는 DIV 년대에서 리튬을 만들지 만 div가 아직도 내가?jQuery를 읽어 들이게된다() 함수

$(document).ready(function(){ 
    var makeLI = $("div").html("<li class='blue'>" + 
    "Here is a new &lt;li &gt; element.</li>"); 

    $("body").append("<ul>"); 

    $("ul").append(makeLI); 
    }); 

출판물 상태 놓친 것을, 소스에 나타납니다에

이동합니다 브라우저의 파일. 요소는 으로 변환되어 원하는 텍스트가 표시된 요소로 표시됩니다.

그러나 FF 6 사업부 년대 남아 :

<div><li class="blue">Here is a new &lt;li &gt; element.</li></div> 

------------------ 전체 코드 --------- ---------

<!DOCTYPE html> 
<html> 
<head> 
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<meta charset=utf-8 /> 
<title>JS Bin</title> 
<!--[if IE]> 
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 
<style> 
    .blue { color:blue; } 
    </style> 
</head> 
<body> 
<h1>Rewriting three &lt;div&gt; elements</h1> 
    <div></div> 
    <div></div> 
    <div></div> 

</body> 
</html> 

$(document).ready(function(){ 
    var makeLI = $("div").html("<li class='blue'>" + 
    "Here is a new &lt;li &gt; element.</li>"); 


    $("body").append("<ul>"); 

    $("ul").append(makeLI); 
    }); 
+1

설정해야? 완성 된 소프트웨어가 아닙니다. 아마 6에 불과하면 그럴 수도 있습니다. –

답변

2

makeLIdiv 요소이다. li은 그 자식입니다. 물론 div을 어딘가에 추가하면 거기에있게됩니다. 당신은 단지 li 요소를 추가하려는 경우, 당신은 children 전화를해야 :

$("ul").append(makeLI.children()); 

또는 단순히이 div를 생략 : Btw는

$('body').append($("<ul />").append("<li class='blue'>" + 
"Here is a new &lt;li &gt; element.</li>")); 

. div모두 브라우저에 표시됩니다. 브라우저는 유효하지 않은 HTML을 수정하는 경향이 있기 때문에이를 볼 수 없습니다. 요소 안에있는 div 요소는 유효하지 않으며ul 다음에 으로 옮겨집니다. 그럼에도 유효한 HTML을 만들어야합니다. 당신은 $에이 사업부를 만들

1

("DIV") 그 건너 뛰고 당신은 만 FF 6에

var $li = $("<li>"); 
$li.html("Here is a new &lt;li &gt; element."); 
$li.addClass('blue'); 
관련 문제