Jquery 获取类"nodeId"值



我想从字符串中获取值117。但未能。。。

当我执行以下操作时,

$(this)

我得到像这样的"字符串"

"[Node: <span class='nodeId'>117</span>] <br>bla bla (bla/6)<br>Value: n.a."

进一步推导如下,

$(this).filter('.nodeId').html()

我出错了。。。

Uncaught Error: Syntax error, unrecognized expression: [Node: <span class='nodeId'>117</span>] <br>bla bla (bla/6)<br>Value: n.a. 

请求的代码段:

var onDeviceMarkerClick = function() {
        var currentNodeIdVal = null;
        var marker = this;
        var markerLat = marker.getPosition().lat();
        var markerLng = marker.getPosition().lng();
        var checkStreetView = new google.maps.LatLng(markerLat,markerLng);
        var svClient = new google.maps.StreetViewService();
        var checkaround = 50;
        svClient.getPanoramaByLocation(checkStreetView, checkaround, function (nearest) {
        if (nearest !== null){ 
            var nodeIdString = marker.title;
            var checkThisVal = $(nodeIdString).filter('.nodeId').html();
            console.log(checkThisVal); // Here I got the error
        //More to go

有人吗?

如果jQuery的HTML格式不正确(例如没有以<>元素开头),则需要首先将其包装(例如在伪div元素中)

JSFiddle:http://jsfiddle.net/TrueBlueAussie/vme0us9s/1/

var nodeIdString = marker.title;
// Create a new DIV and insert the content
var $div = $('<div>').html(nodeIdString);
var checkThisVal = $div.find('.nodeId').text();
alert(checkThisVal);  // Alerts 117

您可以通过实现

var value = $('.nodeId').text();

编辑:您可以通过以下方式完成:

var string = "<div>blah <span class='wew'>blah</span> sdf</div>";
console.log($(string).find('.wew').text());

请注意,字符串应该是一个有效的html元素。

最新更新