2012-03-30 116 views
1

我有一个构建Date Picker元素的jQuery UI框架。我也有动态改变输入字段的jqtransform。底线我需要采取动态创建<img>并将其附加到父div,三深度深。为了帮助可视化,我创建了一个JS小提琴http://jsfiddle.net/helpinspireme/PnJvn/目标是在<div>元素内<input>字段正上方追加<img>标记。将动态构建的元素添加到另一个动态构建元素

一旦所有事情都说完了,我还将标签包装在<div>中。我只需要帮助将<img>标签附加到正确的位置。谢谢您的帮助。

回答

0

你可以做

//get the input 
var input_div = $('.date_picker') 
//get the image 
var img = $('img.ui-datepicker-trigger'); 
//wrap the input and add the img before it 
input_div.wrap('<div class="datepicker_image" />') 
     .before(img); 

这里小提琴http://jsfiddle.net/uvVd8/

+0

美丽。非常感谢您的帮助。一旦stackoverflow允许我将这个标记为答案。 – 2012-03-30 14:20:54

+0

这个答案是错误的,'wrap'方法返回原始的一组元素而没有包裹元素。执行此代码后检查您的标记。 – ShankarSangoli 2012-03-30 14:32:15

+0

@ShankarSangoli如果你看小提琴有一个div来包装img和输入字段,我觉得他想要这样! :) – 2012-03-30 15:14:56

0

我不知道我是否正确理解你的问题,但这里是你可以尝试的。找到input元素,然后使用before方法在其上方添加图像元素。

$('.date_picker').wrap('<div class="datepicker_image" />') 
$('.datepicker_image').before($('.ui-datepicker-trigger'));​ 

工作演示 - http://jsfiddle.net/PnJvn/4/

+0

这不裹在另一个div的,输入和图像 – 2012-03-30 14:19:16

+0

OP提到包木窗不重要的,所以我不关心它。无论如何编辑我的答案。 – ShankarSangoli 2012-03-30 14:25:58