Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数中惯用的jQuery和选择器路径_Javascript_Jquery_Iframe_Jquery Selectors - Fatal编程技术网

Javascript 函数中惯用的jQuery和选择器路径

Javascript 函数中惯用的jQuery和选择器路径,javascript,jquery,iframe,jquery-selectors,Javascript,Jquery,Iframe,Jquery Selectors,在jQuery上编写此函数的最佳方法是什么 背景:我正在开发一个遗留的web应用程序,它有很多问题。它要求我们插入一个IFrame来处理几个“屏幕”。稍后这段代码将被重构,但现在我们需要它 function openIframePage(selectorPath, url) { if ($(selectorPath).length > 0) { $('#ifrPage').attr('src', url); } else { $(selectorPa

在jQuery上编写此函数的最佳方法是什么

背景:我正在开发一个遗留的web应用程序,它有很多问题。它要求我们插入一个IFrame来处理几个“屏幕”。稍后这段代码将被重构,但现在我们需要它

function openIframePage(selectorPath, url) {
    if ($(selectorPath).length > 0) {
      $('#ifrPage').attr('src', url);
    } else {
      $(selectorPath).append('<iframe id="ifrPage" src="' + url + '" />');
    }
}
function closeIframePage() {
     $('#ifrPage').remove();
}
函数openIframePage(selectorPath,url){
如果($(selectorPath).length>0){
$('ifrPage').attr('src',url);
}否则{
$(selectorPath).append(“”);
}
}
函数closeIframePage(){
$('#ifrPage')。删除();
}

有没有更好的方法写这个?大多数人是如何传递选择器的?或者它们传递jQuery对象本身?不寻找插件。谢谢。

我会让函数以实际的jQuery对象作为参数,并在传递参数时调用
$

这意味着选择器将只计算一次

例如:

function openIframePage(elem, url) {
    if (elem.length > 0) {
      $('#ifrPage').attr('src', url);
    } else {
      elem.append('<iframe id="ifrPage" src="' + url + '" />');
    }
}
函数openIframePage(元素、url){
如果(元素长度>0){
$('ifrPage').attr('src',url);
}否则{
元素附加(“”);
}
}

为了获得最大的灵活性,您可以编写
elem=$(elem)
,然后传递几乎所有内容。

我会让函数将实际的jQuery对象作为参数,并在传递参数时调用
$

这意味着选择器将只计算一次

例如:

function openIframePage(elem, url) {
    if (elem.length > 0) {
      $('#ifrPage').attr('src', url);
    } else {
      elem.append('<iframe id="ifrPage" src="' + url + '" />');
    }
}
函数openIframePage(元素、url){
如果(元素长度>0){
$('ifrPage').attr('src',url);
}否则{
元素附加(“”);
}
}

为了获得最大的灵活性,您可以编写
elem=$(elem)
,然后传递几乎所有内容。

称之为elem正常吗?我是说我知道你可以。但是我从风格的角度考虑,因为它实际上是jQuery对象,我不确定。您可以将其称为
obj
target
,或者
iframe
。它将返回一个具有相同内容的单独jQuery对象。将其称为elem是否正常?我是说我知道你可以。但是我从风格的角度考虑,因为它实际上是jQuery对象,我不确定。您可以将其称为
obj
target
,或者
iframe
。它将返回一个具有相同内容的单独jQuery对象。