将返回的jquery var传递给另一个jquery

时间:2016-06-07 16:12:55

标签: jquery variables

获取以下返回var的最佳方法是什么(在jQuery中):

jQuery(document).ready(function() {
  var theFormID = jQuery(parent.document).find('.theformclass').find('input[name="form_id"]').val();
});

上面的代码没问题,因为它返回了我需要的值 - 所以问题是如何在它之后的脚本中“粘贴”(打印)它(它说: 这里-IS-WHERE-I NEED-THE-RETURNED-VALUE)

jQuery(parent.document).find('#abc_HERE-IS-WHERE-I-NEED-THE-RETURNED-VALUE_number_103').fadeToggle("slow", "linear");

感谢您的帮助:)

https://jsfiddle.net/jhk926ya/

编辑:感谢@brian和@showdev - 两个解决方案都是正确的,我身边的问题是jquery sizzle。

完美的工作:)再次谢谢你们

2 个答案:

答案 0 :(得分:1)

编辑:我稍微清理了一下我的答案,应该更具可读性。您只需要拆分字符串并将其与返回的值连接起来。

jQuery(document).ready(function() {
    var $parent = jQuery(parent.document); // cache this so jquery doesnt have to instantiate the same object twice

    var theFormID = $parent
        .find('.theformclass')
        .find('input[name="form_id"]').val();

    var $form = $parent
        .find("#abc_" + theFormId + "_number_103")
        .fadeToggle("slow", "linear");
}); 

答案 1 :(得分:0)

在使用连接构建字符串选择器时,可以包含theFormID的值。 在JavaScript中,字符串连接可以使用“+”完成。

我还通过删除对find()的一些看似不必要的调用来简化代码。

// determine the value of the <input>
var theFormID = jQuery('.theformclass input[name=form_id]').val();

// concatenate the value of the <input> into your selector
jQuery('#abc_' + theFormID + '_number_103').fadeToggle("slow", "linear");
#abc_another_number_103 { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="theformclass">
  <input name="form_id" value="another" />
</div>

<div id="abc_another_number_103">test</div>