【问题标题】:Unable to select a div with class无法选择带类的 div
【发布时间】:2015-08-17 14:11:39
【问题描述】:

在我的 iOS 应用程序中,我在 UIWebView 中打开一个 URL。我想用class="main-container scrollable" 隐藏div。我不是jQuery 的专家。页面的来源有,

<head></head>
<body class="scope" controller="MainCtrl"
    <div class="scope toast-top-right" id="toast-container"></div>
    <div class="app-container">
        <div id="left-panel" class="slide-panel” ui-view="leftPanel"></div>
        <div id="main-panel" class="partial-container">
            <div class="scope" ui-view="navbar"></div>
            <div class="scope" ui-view="mainPanel">
                <div class="page-home scope">
                    <div class="main-container scrollable"></div>
                </div>
            </div>
        </div>
    </div>
</body> 

我试过了,

webView.stringByEvaluatingJavaScriptFromString("$('.main-container.scrollable').hide()")

也试过了,

webView.stringByEvaluatingJavaScriptFromString("alert($('.partial-container').children().eq(1).find('.main-container').length)")

它返回"0"

如何选择divclass"main-container"

【问题讨论】:

  • 警报显示长度为 1,jsfiddle.net/oaL1nsa3
  • 第二行返回 0 因为你选择了 .partial-container 的第一个子级(这是具有类范围的 div),然后获取其子级的长度(没有任何)子类是.main-container
  • 查看这个响应是什么:webView.stringByEvaluatingJavaScriptFromString("alert($('.main-container.scrollable').length);")

标签: jquery html ios swift uiwebview


【解决方案1】:

您的代码看起来不错。它将使用 jQuery 选择您要选择的 div。问题可能是您在 Webview 中尚未创建元素时尝试访问 DOM,因此它返回 0 或未选择元素。尝试在页面完全加载后执行隐藏代码。

我不是 UIWebView 方面的专家,但您可以尝试在一些点击事件上执行此代码或 - (void)webViewDidFinishLoad:(UIWebView *)webView。

【讨论】:

    【解决方案2】:

    我使用 $('#main-panel').find('.main-container') 做到了这一点

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 2012-07-21
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 2020-01-10
      相关资源
      最近更新 更多