jQuery - 选择器不工作 - 动态表单

时间:2015-12-09 14:28:06

标签: javascript jquery html css

我在jQuery中创建了一个函数,目的是遍历并找到站点某个部分所需的所有输入。

function check_property_vars() {
    jQuery(this).parents('.property_group').find('div[id^="property_group_"]:input[required]:visible').each( function() {
        console.log('here');
    });
}

我似乎遇到的问题是我的选择器无效。上面的代码应该是找到我创建的每个属性组,然后定位每个可见且必需的输入。

点击时没有出现错误,但我可以将console.log移出选择器并显示。选择器本身似乎有问题。代码本身似乎格式正确,因为它不会以任何方式破坏网站。它只是无声地失败。

https://jsfiddle.net/x0sh82uz/

我创建了一个小提琴,其中包含一些示例代码,以便更好地了解属性在代码中的呈现方式,希望有人能够确定我的选择器无效的原因。

1 个答案:

答案 0 :(得分:3)

隔离问题,这是您正在使用的选择器:

'div[id^="property_group_"]:input[required]:visible'

翻译,这意味着:

  • div元素......
  • 谁的ID以' property_group _'
  • 开头
  • 哪个有'输入' pseudoclass(???)
  • 哪个有'必需'属性集
  • 其中有可见的'伪类

第三点显然存在问题,因为它毫无意义。

也许你的意思是空格而不是:,如:

'div[id^="property_group_"] input[required]:visible'

以上翻译为:

  • div元素......
  • 谁的ID以' property_group _'
  • 开头
  • 寻找后代input
    • 哪个有'必需'属性集
    • 其中有可见的'伪类

这似乎更符合您的需求。