html文件:
<div id ="main">
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
//create a div
var divElem = $('<div class="divText"></div>');
//create input element inside it
var inhtml = "<input type='text' id='12345' />";
//add to page
$(divElem).html(inhtml).appendTo('#main')
Run Code Online (Sandbox Code Playgroud)
以下不起作用,因为它无法找到输入元素:
//retrieve input element
$('#12345').val('hello')
Run Code Online (Sandbox Code Playgroud)
以下作品:
document.getElementById('12345').value = 'hello'
Run Code Online (Sandbox Code Playgroud)
以下作品:
var ipElem = $(inhtml);
$(divElem).append(ipElem).appendTo('#main')
$(ipElem).val('hello')
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉为什么第一版的检索元素在jquery中不起作用?(刚从jquery开始...... :))
编辑:我认为'12345'有效,但不是一些奇怪的ID:mytext0.15942923246580176见这里:http: //jsfiddle.net/9PVNb/4/
你divElem在jQuery对象中包装了两次:
var divElem = $('<div class="divText"></div>');
var inhtml = "<input type='text' id='12345' />";
$(divElem).html(inhtml).appendTo('#main') // Nop '$(divElem)' plus missing `;`
divElem.append(inhtml).appendTo('#main'); // Yup
Run Code Online (Sandbox Code Playgroud)
编辑:
编辑:我认为'12345'有效但不是一些奇怪的ID:mytext0.15942923246580176
您在http://jsfiddle.net/9PVNb/4/的代码无效,因为:
// Your `id` has a `.` which you didn't escape
var elemid = 'mytext0.15942923246580176';
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
alert($('#' + elemid).val()); //undefined. DOES NOT WORK
alert($('#' + elemid.replace('.', '\\.')).val()); // hello world IT WORKS!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
227 次 |
| 最近记录: |